命令篇 之 kill"/>
Linux 命令篇 之 kill
这一次讲的是kill,are you killing me !笑死我了哈哈!!!!!!当然还有字面上的意思你要杀了我。
Linux中我们常常在使用终端的时候需要用到Ctrl+C键来停止当前运行的进程,但是你想要kill后台程序,就不能这样的用了,你必须使用杀手kill来干掉它;例如你有些流氓软件在运行你就可以强行杀了他,不用给面子。
我在上一篇里面讲到ps命令道这一篇终于可以使用了,
我们查找到在Desktop里的a.c,现在我们要杀掉它,
Id为2854的a.c已经没有了,安息。
下面我们介绍你君临天下的9号命令,只要他出现就能把99%的进程杀掉
当然这么厉害的9号肯定会带来一些副作用,就是可能会造成系统资源无法正常释放,数据无法同步到磁盘,所以请慎用!
99%?那9还有什么是他杀不掉的呢,现在就来揭晓,他就是进程号为1的init,不信,我们来看看。
哈哈,毕竟老大不是这么容易杀得。
这里顺便再讲一条经常使用的命令就是clear,就是当你看到shell很多信息的时候你打clear就可以清屏了。
kill[参数][进程号]
kill –l 可以列出所有信号
下面是常用的信号:
HUP 1 终端断线
INT 2 中断(同 Ctrl + C)
QUIT 3 退出(同 Ctrl + \)
TERM 15 终止
KILL 9 强制终止
CONT 18 继续(与STOP相反, fg/bg命令)
STOP 19 暂停(同 Ctrl + Z)
刚刚那个9号其实就是强制终止
标准的kill命令通常都能达到目的。终止有问题的进程,并把进程的资源释放给系统。然而,如果进程启动了子进程,只杀死父进程,子进程仍在运行,因此仍消耗资源。为了防止这些所谓的“僵尸进程”,应确保在杀死父进程之前,先杀死其所有的子进程。
*确定要杀死进程的PID或PPID
# ps -ef | grep fire
# kill -l PID
l选项告诉kill命令用好像启动进程的用户已注销的方式结束进程。当使用该选项时,kill命令也试图杀死所留下的子进程。但这个命令也不是总能成功--或许仍然需要先手工杀死子进程,然后再杀死父进程。
*TERM信号
给父进程发送一个TERM信号,试图杀死它和它的子进程。
# kill -TERM PPID
*killall命令
killall命令杀死同一进程组内的所有进程。其允许指定要终止的进程的名称,而非PID。
# killall fire
更多推荐
Linux 命令篇 之 kill
发布评论