kill linux kill指令1—15

总结Linux中用于终结进程的kill和pikill及killall命令用法

kill

kill命令:发送指定的信号到相应进程。不指定信号将发送SIGTERM(15)终止指定进程。若仍无法终止该程序可用“-KILL”参数,其发送的信号为SIGKILL(9),将强制结束进程,使用ps命令或者jobs命令可以查看进程号。root用户将影响用户的进程,非root用户只能影响自己的进程

-l信号变化哦啊,若不加信号的编号参数,则使用“-l”参数会列出全部的信号名称

-a当处理当前进程时,不限制命令名和进程号的对应关系

-p指定kill命令只打印相关进程的进程号,而不发送任何信号

-s指定发送信号

-u指定用户

例:

代码如下:

[root@redhat~]# kill 1908#杀死进程

[root@redhat~]# kill-KILL 1908#强制杀死进程

[root@redhat~]# kill-9 6985#彻底杀死进程

[root@redhat~]# kill-u tank#杀死指定用户的所有进程

pkill

pkill命令:是ps命令和kill命令的结合,用来杀死指定进程

-f显示完整程序

-l显示源代码

-n显示新程序

-o显示旧程序

-v与条件不符合的程序

-x与条件符合的程序

-p进程号列出父进程为用户指定进程的进程信息

-t终端指定终端下的所有程序

-u用户指定用户的程序

例:

代码如下:

[root@redhat~]# pkill-t tty1#杀死终端1下的所有进程

[root@Centos~]# pkill-kill-t pts/2#踢用户

[root@redhat~]# pkill-9 6985#彻底杀死进程

[root@redhat~]# pkill-u tank#杀死指定用户的所有进程

[root@redhat~]# pkill-vu root#杀死不属于root用户的所有进程

killall

killall-以名字方式来杀死进程 [[ ]]

killall [-egiqvw ] [-signal ] name...

killall-l

killall-V [[ ]]

DESCRIPTION(描述)

killall发送一条信号给所有运行任意指定命令的进程.如果没有指定信号名,则发送 SIGTERM.

信号可以以名字(如-HUP)或者数字(如-1)的方式指定.信号 0(检查进程是否存在)只能以数字方式指定.

如果命令名包括斜杠(/),那么执行该特定文件的进程将被杀掉,这与进程名无关.

如果对于所列命令无进程可杀,那么 killall会返回非零值.如果对于每条命令至少杀死了一个进程, killall返回 0.

killall进程决不会杀死自己(但是可以杀死其它 killall进程). [[ ]]

OPTIONS(选项)

-e

对于很长的名字,要求准确匹配.如果一个命令名长于 15个字符,则可能不能用整个名字(溢出了).在这种情况下, killall会杀死所有匹配名字前 15个字符的所有进程.有了-e选项,这样的记录将忽略.如果同时指定了-v选项, killall会针对每个忽略的记录打印一条消息.

-g

杀死属于该进程组的进程. kill信号给每个组只发送一次,即使同一进程组中包含多个进程.

-i

交互方式,在杀死进程之前征求确认信息.

-l

列出所有已知的信号名.

-q

如果没有进程杀死,不会提出抱怨.

-v

报告信号是否成功发送.

-V

显示版本信息.

-w

等待所有杀的进程死去. killall会每秒检查一次是否任何被杀的进程仍然存在,仅当都死光后才返回.注意:如果信号被忽略或没有起作用,或者进程停留在僵尸状态, killall可能会永久等待.

例:

代码如下:

[root@redhat~]# killall sudo

会话结束,结束 shell......已被杀死。

linux kill命令

linux kill命令使用场景:当需要中断一个前台进程的时候,通常是使用< Ctrl+c>组合键;但是对于一个后台进程恐怕就不是一个组合键所能解决的了,这时就必须求助于kill命令。

kill命令是通过向进程发送指定的信号来结束进程的。如果没有指定发送信号,那么默认值为TERM信号。TERM信号将终止所有不能捕获该信号的进程。至于那些可以捕获该信号的进程可能就需要使用kill(9)信号了,该信号是不能被捕捉的。

kill命令的语法:

kill [-s信号|-p ] [-a ]进程号

kill-l [信号]

说明:-s指定需要送出的信号。既可以是信号名也可以对应数字。

-p指定kill命令只是显示进程的pid,并不真正送出结束信号。

-l显示信号名称列表,这也可以在/usr/include/linux/signal.h文件中找到。

kill命令的使用:

[举例]在执行一条find指令时由于时间过长,决定终止该进程。

首先应该使用ps命令来查看该进程对应的PID,键入ps,显示如下:

PID TTY TIME COMMAND

285 1 00:00:00-bash

287 3 00:00:00-bash

289 5 00:00:00/sbin/mingetty tty5

290 6 00:00:00/sbin/mingetty tty6

312 3 00:00:00 telnet bbs3

341 4 00:00:00/sbin/mingetty tty4

345 1 00:00:00 find/-name foxy.jpg

348 1 00:00:00 ps

可以看到该进程对应的PID是345,现在使用kill命令来终止该进程。键入:

# kill 345

再用ps命令查看,就可以看到,find进程已经被杀掉了。

linux杀死进程命令killlinux杀死进程

linuxkill杀不掉进程?

linux进程kill不掉

一是进程已经成为僵死进程,当它的父进程将它回收或将它的父进程kill掉即可在ps输出看不到了;

二是进程正处在内核状态中,Linux进程运行时分内核和用户两种状态,当进程进入内核状态后,会屏蔽所有信号,包括SIGKIL,所以这个时候kill-9也变得无效了。

如何kill杀掉linux系统中的僵尸defunct进程?

找到该defunct僵尸进程的父进程,将该进程的父进程杀掉,则此defunct进程将自动消失

linux如何查进程,杀进程,重启进程?

查找进程ps-ef|grep-vgrep|grep"XXXXX"杀进程kill-9`ps-ef|grep-vgrep|grepXXXXX|awk'{print$2}'`重起serviceXXXXrestart

如何杀掉Linux中的僵尸进程?

1、使用top命令就可以查看到僵尸进程。

2、查看具体进程pid#ps-A-ostat,ppid,pid,cmd|grep-e"^"说明:不是查不出僵尸进程,是因为我重启了系统,没有僵尸进程。

3、杀死僵尸进程#kill-9pid号

阅读剩余
THE END