这个工具可以按名称终止一个进程。例如,系统中正有一个进程signal_demo.pl,如果读者不希望键入它的PID,就可以终止它,可以运行如下的命令:
killall -KILL signal_demo.pl
当用户不提供信号名称时,killall会自动发送SIGTERM信号。在使用killall要非常小心,因为它杀死该命令指定的所有实例。不恰当地使用此命令有时会引起意想不到的麻烦。例如,有下列ps输出:
PID TTY STAT TIME COMMAND
1246 p8 S 0:00 -tcsh
2160 p6 S 0:00 -tcsh
2365 p1 S 0:00 -bash
2459 p6 S 0:00 vi bar.txt
2460 p8 S 0:00 vi foo.txt
2463 p1 P 0:00 ps
这时,如果终止正用于编辑foo.txt文件的vi进程,运行killall vi foo.txt,其结果不但是vi foo.txt进程被终止了,而且vi bar.txt进程也被终止了。这是因为killall把名称作为命令的参数,并且把信号传送给指定进程的所有实例。
ouyangzq 于 2012-08-14 09:45:48发表:
be carefore to use killall?
苏文龙 于 2012-07-26 14:47:10发表:
kill all . sounds very powerful ,but at the same time , it 's very harmful , right ?
clorest510 于 2012-01-06 09:35:12发表:
学习了
jm-kele 于 2011-12-19 16:22:06发表:
学习了