linux(三十二)系统信息命令kill终止进程

简介: linux(三十二)系统信息命令kill终止进程

这几天看了top和ps命令。也就是类似于windows的任务管理器的两个命令。


信息我都看了,那我要是想停止那个软件的进程。该怎么办呢?


那就用到了我们linux的kill命令来结束进程。


注意:kill命令不要随意去终止系统中的进程,否则可能会出问题。

 

1:语法


Kill 参数 进程PID

 

2:参数


(1):查看可用参数


Kill -l
[root@iZuf60ynur81p6k0ysvtneZ /]# 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

 

参数可不少啊!但这些信号中只有第 9 种信号(SIGKILL)才可以无条件的终止进程,其他信号进程都有权利忽略。并且这么多的信号中常用的也不多,下面我们解释几个常用信号的含义。

 

代号 名称 内容
1       SIGHUP 启动被终止的程序,可让该进程重新读取自己的配置文件,类似重新启动。
2 SIGINT 相当于用键盘输入 [ctrl]-c 来中断一个程序的进行。
9 SIGKILL 代表强制中断一个程序的进行,如果该程序进行到一半,那么尚未完成的部分可能会有“半产品”产生,类似 vim会有 .filename.swp 保留下来。
15 SIGTERM 以正常的方式来终止该程序。由于是正常的终止,所以后续的动作会将他完成。不过,如果该程序已经发生问题,就是无法使用正常的方法终止时,输入这个 signal 也是没有用的。
19 SIGSTOP 相当于用键盘输入 [ctrl]-z 来暂停一个程序的进行。

 

上表仅是常见的信号,更多的信号信息请自行通过 man 7 signal 了解。一般来说,只要记住 "1, 9, 15" 这三个信号的意义就可以了。


常用命令


kill -15 pid


这条命令发信号让进程正常退出。所谓的正常退出是指按应用程序自己的退出流程完成退出,这样就可以清理并释放资源。比如 vim 程序,如果是正常的退出,就会删除掉临时文件 *.swp。


既然信号 15 是退出进程的正确方式,那它也应该是最常用的方式,因而我们可以省略参数 -15。


kill pid


这条命令和上面的命令是等价的,kill 命令默认发送信号 15 给目标进程。


当进程出现了异常状况,不能通过信号15正常退出时,我们就需要通过非常的手段直接终结掉进程。所谓的非常手段就是传递信号 9 给目标进程!


kill -9 pid


这样结束掉的进程不会进行资源的清理工作,所以如果你用它来终结掉 vim 的进程,就会发现临时文件 *.swp 没有被删除。


总结

使用信号 15 是安全的,而信号 9 则是处理异常进程的最后手段,请勿滥用。

 

有好的建议,请在下方输入你的评论。


目录
相关文章
|
4天前
|
NoSQL Linux 程序员
【linux进程信号(一)】信号的概念以及产生信号的方式
【linux进程信号(一)】信号的概念以及产生信号的方式
|
4天前
|
Linux
【linux进程间通信(一)】匿名管道和命名管道
【linux进程间通信(一)】匿名管道和命名管道
|
4天前
|
Java Shell Linux
【linux进程控制(三)】进程程序替换--如何自己实现一个bash解释器?
【linux进程控制(三)】进程程序替换--如何自己实现一个bash解释器?
|
4天前
|
算法 Linux Shell
【linux进程(二)】如何创建子进程?--fork函数深度剖析
【linux进程(二)】如何创建子进程?--fork函数深度剖析
|
4天前
|
存储 Linux Shell
【linux进程(一)】深入理解进程概念--什么是进程?PCB的底层是什么?
【linux进程(一)】深入理解进程概念--什么是进程?PCB的底层是什么?
|
5天前
|
消息中间件 Unix Linux
Linux的学习之路:17、进程间通信(1)
Linux的学习之路:17、进程间通信(1)
20 1
|
1月前
|
消息中间件 Linux
Linux进程间通信(IPC)教程 Linux共享内存介绍:介绍POSIX共享内存的基本概念、用途和编程实践
Linux进程间通信(IPC)教程 Linux共享内存介绍:介绍POSIX共享内存的基本概念、用途和编程实践
25 2
|
1月前
|
消息中间件 存储 安全
Linux 进程和线程介绍:介绍Linux系统中进程和线程的基本概念、执行方式和相互关系
Linux 进程和线程介绍:介绍Linux系统中进程和线程的基本概念、执行方式和相互关系
34 1
Linux 进程和线程介绍:介绍Linux系统中进程和线程的基本概念、执行方式和相互关系
|
3月前
|
存储 缓存 Linux
『 Linux 』进程地址空间概念
『 Linux 』进程地址空间概念
|
3月前
|
存储 固态存储 Linux
『 Linux 』进程概念
『 Linux 』进程概念