var=$(ps -ef | grep -v 'grep' | grep 'hello' | awk '{print $2}')
# 其中的 grep -v 'grep' 就是获取指定外的元素, awk 的$0 是全部值,而$ 1,$2 …… 就是他的域安全
注意使用ps -ef 查出来的第一列是 用户名 第二列是 pid 第三列是 ppid
rest
咱们得到了 pid 后能够来杀死进程
进程
************** kill相关信息 *********************资源
名称:kill
使用权限:全部使用者
使用方式:
kill [ -s signal | -p ] [ -a ] pid ...
kill -l [ signal ]
说明:kill 送出一个特定的信号 (signal) 给行程 id 为 pid 的行程根据该信号而作特定的动做, 若没有指定, 预设是送出终止 (TERM) 的信号
把计
-s (signal) : 其中可用的讯号有 HUP (1), KILL (9), TERM (15), 分别表明着重跑, 砍掉, 结束; 详细的信号能够用 kill -l
-p : 印出 pid , 并不送出信号
-l (signal) : 列出全部可用的信号名称 it
范例:
将 pid 为 323 的行程砍掉 (kill) :
kill -9 323
将 pid 为 456 的行程重跑 (restart) :
kill -HUP 456awk
-------------------------------------------------------------------------------- 配置
*杀死进程最安全的方法是单纯使用kill命令,不加修饰符,不带标志
首先使用ps -ef命令肯定要杀死进程的PID,而后输入如下命令:
# kill -pid
注释:标准的kill命令一般都能达到目的。终止有问题的进程,并把进程的资源释放给系统。然而,若是进程启动了子进程,只杀死父进程,子进程仍在运行,所以仍消耗资源。为了防止这些所谓的“僵尸进程”,应确保在杀死父进程以前,先杀死其全部的子进程。
--------------------------------------------------------------------------------
*肯定要杀死进程的PID或PPID
# ps -ef | grep httpd
--------------------------------------------------------------------------------
*以优雅的方式结束进程
# kill -l PID
-l选项告诉kill命令用好像启动进程的用户已注销的方式结束进程。当使用该选项时,kill命令也试图杀死所留下的子进程。但这个命令也不是总能成功--或许仍然须要先手工杀死子进程,而后再杀死父进程。
--------------------------------------------------------------------------------
*TERM信号
给父进程发送一个TERM信号,试图杀死它和它的子进程。
# kill -TERM PPID
--------------------------------------------------------------------------------
*killall命令
killall命令杀死同一进程组内的全部进程。其容许指定要终止的进程的名称,而非PID。
# killall httpd
--------------------------------------------------------------------------------
*中止和重启进程
有时候只想简单的中止和重启进程。以下:
# kill -HUP PID
该命令让Linux和缓的执行进程关闭,而后当即重启。在配置应用程序的时候,这个命令很方便,在对配置文件修改后须要重启进程时就能够执行此命令。
--------------------------------------------------------------------------------
*绝杀 kill -9 PID
赞成的 kill -s SIGKILL
这个强大和危险的命令迫使进程在运行时忽然终止,进程在结束后不能自我清理。危害是致使系统资源没法正常释放,通常不推荐使用,除非其余办法都无效。 权限
当使用此命令时,必定要经过ps -ef确认没有剩下任何僵尸进程。只能经过终止父进程来消除僵尸进程。若是僵尸进程被init收养,问题就比较严重了。杀死init进程意味着关闭系统。
若是系统中有僵尸进程,而且其父进程是init,并且僵尸进程占用了大量的系统资源,那么就须要在某个时候重启机器以清除进程表了。
grep