zoukankan      html  css  js  c++  java
  • 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]#

  • 相关阅读:
    软件体系架构会议纪要
    漫谈架构之阅读笔记02
    漫谈架构之阅读笔记01
    学习进度报告01
    以《淘宝网》为例,描绘质量属性的六个常见属性场景。
    软件架构师的工作方式
    软件体系架构课堂测试02
    系统安全——访问控制
    信息安全技术——物理环境与设备安全、虚拟专用网
    信息安全技术——防火墙、入侵检测技术
  • 原文地址:https://www.cnblogs.com/kwdeblog/p/7725307.html
Copyright © 2011-2022 走看看