• kill命令


    kill命令

    1. kill

    作用:根据进程号杀死进程

    用法: kill 进程ID,即kill pid号(杀死进程最安全的方法)

    注:pid号可以通过ps -aux或者ps -ef获取(确定要杀死进程的PID或PPID(父进程))

    ps -ef | grep httpd  或 ps -aux | grep httpd

    root@fcola:/# ps -ef | grep sendmail
    smmsp    14354  14337  0 00:08 pts/1    00:00:00 sendmail start
    smmsp    14356  3154   0 00:08 pts/0    00:00:00 sendmail -s
    smmsp    14359  3154   0 00:09 pts/0    00:00:00 sendmail start
    smmsp    14360  14337  0 00:09 pts/1    00:00:00 sendmail state
    root        17723  15753  0 01:08 pts/2    00:00:00 vim sendmail.mc
    root        19022     1  0 01:26 ?        00:00:03 gedit /etc/mail/sendmail.mc
    root        20674  15753  0 01:55 pts/2    00:00:00 grep sendmail
    root@loris-desktop:/# kill 20674
    root@loris-desktop:/# kill -9 14354
    注意:kill -9 来强制终止退出
     
    绝杀 kill -9 PID 
    这个强大和危险的命令迫使进程在运行时突然终止,进程在结束后不能自我清理。危害是导致系统资源无法正常释放,一般不推荐使用,除非其他办法都无效。
     
    当使用此命令时,一定要通过ps -ef确认没有剩下任何僵尸进程。只能通过终止父进程来消除僵尸进程。如果僵尸进程被init收养,问题就比较严重了。杀死init进程意味着关闭系统。
     
    如果系统中有僵尸进程,并且其父进程是init,而且僵尸进程占用了大量的系统资源,那么就需要在某个时候重启机器以清除进程表了。
     
    kill -9 -1    //终止你拥有的全部进程。
     
    kill命令应用:
    $ps -ef | grep java | grep -v grep | cut -c 9-15 | xargs kill -s 9
    解释:

    “grep java”的输出结果是,所有含有关键字“java”的进程。

    “grep -v grep”是在列出的进程中去除含有关键字“grep”的进程。

    “cut -c 9-15”是截取输入行的第9个字符到第15个字符,而这正好是进程号PID。

    “xargs kill -s 9”中的xargs命令是用来把前面命令的输出结果(PID)作为“kill -s 9”命令的参数,并执行该命令。“kill  -s 9”会强行杀掉指定进程。

    难道你不想抱怨点什么?没错太长了

    $ ps -ef | grep java | awk '{print $2}' | xargs kill -9

    其中awk '{print $2}'  的作用就是打印(print)出第二列的内容。根据常规篇,可以知道ps输出的第二列正好是PID。就把进程相应的PID通过xargs传递给kill作参数,杀掉对应的进程。

    $kill -s 9 `ps -aux | grep java | awk '{print $2}'`

     
    2. killall
    作用:通过程序的名字,直接杀死所有进程
    用法:killall 正在运行的程序名
    killall命令杀死同一进程组内的所有进程。其允许指定要终止的进程的名称,而非PID。
    举例:
    root@fcola:/# ps -ef | grep sendmail
    smmsp    14354 14337  0 00:08 pts/1    00:00:00 sendmail start
    smmsp    14356  3154  0 00:08 pts/0    00:00:00 sendmail -s
    smmsp    14359  3154  0 00:09 pts/0    00:00:00 sendmail start
    smmsp    14360 14337  0 00:09 pts/1    00:00:00 sendmail state
    root     17723 15753  0 01:08 pts/2    00:00:00 vim sendmail.mc
    root     19022     1  0 01:26 ?        00:00:03 gedit /etc/mail/sendmail.mc
    root     20683 15753  0 01:59 pts/2    00:00:00 grep sendmail
    root@fcola:/# killall -9 sendmail
    root@fcola:/# ps -ef | grep sendmail
    root     17723 15753  0 01:08 pts/2    00:00:00 vim sendmail.mc
    root     19022     1  0 01:26 ?        00:00:03 gedit /etc/mail/sendmail.mc
    root     20686 15753  0 01:59 pts/2    00:00:00 grep sendmail
     
    root@fcola:/# killall -9 sendmail
    注意:该命令可以使用 -9 参数来强制杀死进程
     
    3. pkill
    作用:通过程序的名字,直接杀死所有进程
    用法:#pkill 正在运行的程序名
    也可以用
    $pkill -9 java
    举例:
    root@fcola:/# ps -ef | grep sendmail
    root     17723 15753  0 01:08 pts/2    00:00:00 vim sendmail.mc
    root     19022     1  0 01:26 ?        00:00:03 gedit /etc/mail/sendmail.mc
    root     21480 15753  0 02:03 pts/2    00:00:00 grep sendmail
    root@fcola:/# pkill sendmail
     
    linux踢人命令 pkill踢人用法,防止别人登录 

    首先使用who命令查看在线用户,然后踢人。

    强制踢人命令格式:pkill -kill -t tty

    解释:

    pkill -kill -t  踢人命令

    tty 所踢用户的TTY或者pts/x(x代表数字),代表登录终端

    如上踢出liu用户的命令为: pkill -kill -t pts/1

    只有root用户才能踢人。

    如果同时有二个人用root用户登录,任何其中一个可以踢掉另一个。

    任何用户都可以踢掉自己-_-。


    4:
    *停止和重启进程
     
    有时候只想简单的停止和重启进程。如下:
     
    # kill -HUP PID
     
    该命令让Linux和缓的执行进程关闭,然后立即重启。在配置应用程序的时候,这个命令很方便,在对配置文件修改后需要重启进程时就可以执行此命令。
     
  • 相关阅读:
    3.2 线程复用:线程池
    3.1.7 线程阻塞工具类:LockSupport
    3.1.6 循环栅栏:CyclicBarrier
    3.1.4 读写锁
    3.1.5 倒计时器:CountDownLatch
    3.1.3 允许多个线程同时访问:信号量
    3.1.2 condition 条件
    3.1.1 重入锁 以及源码分析
    2.8.4 错误的加锁
    jsp中 scope="application" 表示
  • 原文地址:https://www.cnblogs.com/qmfsun/p/3841719.html
Copyright © 2020-2023  润新知