【Linux】【操作】Linux操作集锦系列之三——进程管理系列之(三)进程kill相关命令

简介: 【Linux】【操作】Linux操作集锦系列之三——进程管理系列之(三)进程kill相关命令
  • 本系列文章,将整理一系列Linux环境下进程相关的操作命令,包括进程启动、kill、挂起、查看、前后台进程切换等各种命令。


  • 本文为本系列的第三篇,进程的kill,主要关注如何kill进程的相关操作。


本文涉及的kill命令,都依赖当前系统的进程情况,本文仅以make这个进程为例来说明:


[qxhgd@localhost]$ ps -a
  PID TTY          TIME CMD
  708 pts/25   00:00:00 make


kill


  • kill命令man手册的说明


NAME
       kill - terminate a process
SYNOPSIS
       kill [-s signal|-p] [-q sigval] [-a] [--] pid...
       kill -l [signal]
DESCRIPTION
       The  command  kill  sends the specified signal to the specified process or process group.  If no signal is specified, the TERM signal is sent.  The TERM signal will kill processes which do not catch
       this signal.  For other processes, it may be necessary to use the KILL (9) signal, since this signal cannot be caught.
       Most modern shells have a builtin kill function, with a usage rather similar to that of the command described here.  The '-a' and '-p' options, and the possibility to specify  processes  by  command
       name are a local extension.
       If sig is 0, then no signal is sent, but error checking is still performed.


  • 主要有两种操作:


– 查看不同信号ID的含义;


– 给进程发信号,进程以PID代表;


  • kill操作实例:


– 发信号:


[qxhgd@localhost]$kill 708         #SIGTERM,终止进程,
[qxhgd@localhost]$kill -19 708     #SIGSTOP,暂停进程;     
[qxhgd@localhost]$kill -18 708     #SIGSTOP,暂停进程;     
[qxhgd@localhost]$kill -9 708      #SIGKILL,杀掉进程;  


– 查看各信号含义:


[qxhgd@localhost]$ kill -l
 1) SIGHUP       2) SIGINT       3) SIGQUIT      4) SIGILL       5) SIGTRAP
 6) SIGABRT      7) SIGBUS       8) SIGFPE       9) SIGKILL     10) SIGUSR1
11) SIGSEGV     12) SIGUSR2     13) SIGPIPE     14) SIGALRM     15) SIGTERM
16) SIGSTKFLT   17) SIGCHLD     18) SIGCONT     19) SIGSTOP     20) SIGTSTP
21) SIGTTIN     22) SIGTTOU     23) SIGURG      24) SIGXCPU     25) SIGXFSZ
26) SIGVTALRM   27) SIGPROF     28) SIGWINCH    29) SIGIO       30) SIGPWR
31) SIGSYS      34) SIGRTMIN    35) SIGRTMIN+1  36) SIGRTMIN+2  37) SIGRTMIN+3
38) SIGRTMIN+4  39) SIGRTMIN+5  40) SIGRTMIN+6  41) SIGRTMIN+7  42) SIGRTMIN+8
43) SIGRTMIN+9  44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9  56) SIGRTMAX-8  57) SIGRTMAX-7
58) SIGRTMAX-6  59) SIGRTMAX-5  60) SIGRTMAX-4  61) SIGRTMAX-3  62) SIGRTMAX-2
63) SIGRTMAX-1  64) SIGRTMAX


killall


  • man手册说明:


NAME
       killall - kill processes by name
SYNOPSIS
       killall [-Z, --context pattern] [-e, --exact] [-g, --process-group] [-i, --interactive] [-o, --older-than TIME] [-q, --quiet] [-r, --regexp] [-s, --signal signal] [-u, --user user] [-v, --verbose]
       [-w, --wait] [-y, --younger-than TIME] [-I, --ignore-case] [-V, --version] [--] name ...
       killall -l
       killall -V, --version
DESCRIPTION
       killall sends a signal to all processes running any of the specified commands.  If no signal name is specified, SIGTERM is sent.
       Signals can be specified either by name (e.g.  -HUP or -SIGHUP) or by number (e.g.  -1) or by option -s.
       If the command name is not regular expression (option -r) and contains a slash (/), processes executing that particular file will be selected for killing, independent of their name.
       killall returns a zero return code if at least one process has been killed for each listed command, or no commands were listed and at least one process matched the -u and -Z search  criteria.   kil‐
       lall returns non-zero otherwise.
       A killall process never kills itself (but may kill other killall processes).


  • 和kill不用的是,killall的参数是进程名,根据进程名对进程进行操作;


[qxhgd@localhost]$killall make     #杀掉make
[qxhgd@localhost]$killall -19 make #暂停make


pkill


  • man手册说明


NAME
       pgrep, pkill - look up or signal processes based on name and other attributes
SYNOPSIS
       pgrep [options] pattern
       pkill [options] pattern
DESCRIPTION
       pgrep looks through the currently running processes and lists the process IDs which match the selection criteria to stdout.  All the criteria have to match.  For example,
              $ pgrep -u root sshd
       will only list the processes called sshd AND owned by root.  On the other hand,
              $ pgrep -u root,daemon
       will list the processes owned by root OR daemon.
       pkill will send the specified signal (by default SIGTERM) to each process instead of listing them on stdout.


  • 命令可以按照进程名杀死进程,和 killall 差不多,也是批量杀死运行中的程序;


ctrl命令


  • 前台进程的终止,ctrl+C


  • 前台进程的挂起,ctrl+Z


  • 对后台进程无能为力;


GUI


  • 对GUI程序,关闭窗口即关闭进程,和windows类似。
相关文章
|
2天前
|
Linux Shell
蓝易云 - 【Linux-Day8- 进程替换和信号】
这两个概念在Linux系统编程和shell脚本编写中都非常重要,理解它们可以帮助你更好地理解和控制Linux系统的行为。
5 0
|
3天前
|
缓存 监控 安全
进程的介绍及相关命令
进程的介绍及相关命令
|
3天前
|
Linux 应用服务中间件 nginx
linux小技巧: 可以补全命令 别名永久有效
linux小技巧: 可以补全命令 别名永久有效
|
3天前
|
缓存 关系型数据库 MySQL
linux 基本知识与命令
linux 基本知识与命令
|
3天前
|
网络协议 Linux 数据库
蓝易云 - Linux常用命令dhcpd命令
在使用dhcpd命令之前,需要确保已经正确配置了dhcpd.conf文件,该文件定义了DHCP服务器的行为和要分配的IP地址范围等信息。
9 0
|
3天前
|
Linux Docker 容器
蓝易云 - 【Linux】如何在linux系统重启或启动时执行命令或脚本(也支持docker容器内部)
以上就是在Linux系统和Docker容器中设置启动时运行命令或脚本的方法。希望对你有所帮助。
16 0
|
4天前
|
大数据 Linux 虚拟化
OVA Import:一个最快速度打造Linux虚拟机的操作 | Linux vmware
OVA Import:一个最快速度打造Linux虚拟机的操作 | Linux vmware
10 0
|
4天前
|
Linux 开发工具
蓝易云 - Linux虚拟机常用命令
以上就是一些常用的Linux命令,希望对你有所帮助。
15 0
|
4天前
|
算法 Linux 调度
深度解析:Linux内核的进程调度机制
【5月更文挑战第29天】 在现代操作系统中,尤其是类Unix系统如Linux中,进程调度机制是保证多任务高效运行的核心。本文将深入探讨Linux操作系统内核的进程调度器——负责管理CPU资源分配的关键组件。我们会详细分析其调度策略、调度器的演进及其在多核处理器环境下的表现。通过剖析进程调度器的工作原理和设计哲学,旨在为读者提供一个清晰的视角来理解这一复杂的系统功能。
11 0
|
6月前
|
关系型数据库 MySQL Linux
Linux命令(44)之kill
Linux命令(44)之kill
53 1