Linux下kill命令的学习,(主要根据man手册进行的翻译)

名字

     kill -终止一个进程

格式    

       kill  [-s signal | -p]  [--] pid ..                                                                                                                                                                                                         

       kill  -l [signal]   

描述

      这个kill命令发送一个指定的命令给一个指定的进程或者进程堆。如果没有信号被指定, SIGTERM(15)信号被发送。这个SIGTERM信号将结束所有不能接受该信号的进程,对于其他进程,能捕捉到这个信号,就要用SIGKILL(9)来强制杀掉该进程。                                                                                                      

      大多数现代的脚本都内置一个杀死功能,使用的方法相当于这里描述的命令。'-a'和'-p'选项,以及通过命令名指定pids的可能性是本地的延期。                              

      如果sig等于0,那么没有信号发送,但错误检测仍然是形成的。

选项

 pid  指定kill函数将发送信号的进程,可以为下列五种之一                                                                                                                                                                    

        n 如果n大于0,pid为n的进程将接受信号                                                                                                                                                                                  

        0 将信号传给和目前进程相同进程组的所有进程                                                                                                                                                                        

        -1 所有进程ID大于1的将接受该信号,也就是广播传送给系统内所有的进程

        -n将信号传给进程组识别码为pid绝对值的所有进程,当一个参数以-n的形式给出, 以为它将表示一个进程组,或者通过 ‘--’限定

 -s signal 指定要发送的信号

 -u 指定用户 

 -l signal 如果不加信号的参数,则会显示所有的信号

 -a 当处理当前进程时,不限制命令名和进程号的对应关系

 -p 指定kill 命令只打印相关进程的进程号,而不发送任何信号

 

 

实用实例

实例1 先用ps aux查看所有后台进程

         命令:

          kill 3268

          输出:

          [root@localhost part]# ps -ef|grep vim 

          root      3268  2884  0 16:21 pts/1    00:00:00 vim install.log

          root      3370  2822  0 16:21 pts/0    00:00:00 grep vim

          [root@localhost part]# kill 3268 

          [root@localhost part]# kill 3268 

         -bash: kill: (3268) - 没有那个进程

实例2 彻底杀死某进程

         [root@localhost part14]# ps -ef|grep vim
         [root 20295 11955 0 07:04 pts/1 00:00:00 grep vim
         [root@localhost part14]# kill -9 20295
         bash: kill: (20295) - 没有那个进程

实例3 init进程是不可杀死的

       [root@localhost part14]# kill -9 1
       [root@localhost part14]# ps -ef|grep init
       [root 1 0 0 Oct23 ? 00:00:01 /sbin/init
       [root 20465 20427 0 07:13 pts/2 00:00:00 grep init
       [root@localhost part14]# kill -s SIGKILL 1
       [root@localhost part14]# ps -ef|grep init
       [root 1 0 0 Oct23 ? 00:00:01 /sbin/init
       [root 20491 20427 0 07:15 pts/2 00:00:00 grep init
       [root@localhost part14]#

posted @ 2017-10-24 19:25  月光下的脚步  阅读(393)  评论(0编辑  收藏  举报