linux 进程名 kill,linux守护进程

总结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命令

linux系统下杀死进程的命令是kill或killall。

kill:通过进程ID来结束进程;

killall:通过进程名字结束进程。

linux系统中kill命令用来删除执行中的程序或工作。kill命令可将指定的信号发送给相应的进程或工作。 kill命令默认使用信号为15,用于结束进程或工作。如果进程或工作忽略此信号,则可以使用信号9,强制杀死进程或作业。

语法格式:

kill [参数] [进程号]

常用参数:

-l列出系统支持的信号

-s指定向进程发送的信号

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

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

Linux里面杀掉进程命令是什么

方法一: Terminal终端输入: gnome-system-monitor,就可以打开system monitor

如图:

然后找到相应进程,右击选择kill process就可以了

方法二:通过kill进程id的方式可以实现,

首先需要知道进程id,例如,想要杀死firefox的进程,通过 ps-ef|grep firefox,可以查到firefox的进程id:

然后通过 kill 3781就可以关闭进程了.

补充: 1. kill-9来强制终止退出,例如: kill-9 3781

2.特殊用法:

kill-STOP [pid]

发送SIGSTOP(17,19,23)停止一个进程,而并不消灭这个进程。

kill-CONT [pid]

发送SIGCONT(19,18,25)重新开始一个停止的进程。

kill-KILL [pid]

发送SIGKILL(9)强迫进程立即停止,并且不实施清理操作。

kill-9-1

终止你拥有的全部进程。

方法三: killall通过程序的名字,来杀死进程

例如: killall firefox

注意:该命令可以使用-9参数来强制杀死进程, killall-9 firefox

方法四: pkill通过程序的名字,直接杀死所有进程

例如: pkill firefox

方法五:通过xkill可以杀死图形程序应用,例如firefox崩溃无响应,可以使用该命令.

例如:用法xkill,会出现一个白色的x,然后用鼠标单击想要杀死的应用,如图

以下内容引用自:

◆编者注:

KILLALL(Section: User(1)/Updated: 1999年9月7日)

———————————————–

NAME(名称)

killall–以名字方式来杀死进程

SYNOPSIS(总览)

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可能会永久等待。

FILES(相关文件)

/proc proc文件系统的存在位置。

KNOWN bugS(已知 BUGS)

以文件方式杀死只对那些在执行时一直打开的可执行文件起作用,也即,混杂的可执行文件不能够通过这种方式杀死。

要警告的是输入 killall name可能不会在非 Linux系统上产生预期的效果,特别是特权用户执行时要小心。

在两次扫描的间隙,如果进程消失了而被代之以一个有同样 PID的新进程, killall-w侦测不到。

来源:

下面来了解相关命令:

一、查看进程的命令有ps、pstree、pgrep等:

1、ps

显示进程信息,参数可省略

-aux以BSD风格显示进程常用

-efH以System V风格显示进程

-e,-A显示所有进程

a显示终端上所有用户的进程

x显示无终端进程

u显示详细信息

f树状显示

w完整显示信息

l显示长列表

在终端中执行ps aux,

各列输出字段的含义:

USER进程所有者

PID进程ID

PPID父进程

%CPU CPU占用率

%MEM内存占用率

NI进程优先级。数值越大,占用CPU时间越少

VSZ进程虚拟大小

RSS页面文件占用

TTY终端ID

STAT进程状态

+---D不可中断 Uninterruptible sleep(usually IO)

+---R正在运行,或在队列中的进程

+---S处于休眠状态

+---T停止或被追踪

+---Z僵尸进程

+---W进入内存交换(从内核2.6开始无效)

+---X死掉的进程

+---<高优先级

+---N低优先级

+---L有些页被锁进内存

+---s包含子进程

+---+位于后台的进程组;

+---l多线程,克隆线程 multi-threaded(using CLONE_THREAD, like NPTL pthreads do)

PID:进程标识符,系统为每一个进程分配一个识别码,称为PID。

ps命令极为常用,其他命令还有:

2.pstree

树状显示进程信息

-a显示完整命令及参数

-c重复进程分别显示

-c显示进程ID PID

-n按 PID排列进程

3.pgrep<进程名>

显示进程的PID

-l显示进程名和进程PID

-o进程起始ID

-n进程终止ID

二、结束进程的命令有kill、pkill、killall、xkill等:

kill [信号代码]<进程PID>

根据PID向进程发送信号,常用来结束进程,默认信号为-9

信号代码,可取值如下:

-l [信号数字]显示、翻译信号代码

-9,-KILL发送 kill信号退出

-6,-ABRT发送 abort信号退出

-15,-TERM发送 Termination信号

-1,-HUP挂起

-2,-INT从键盘中断,相当于 Ctrl+c

-3,-QUIT从键盘退出,相当于 Ctrl+d

-4,-ILL非法指令

-11,-SEGV内存错误

-13,-PIPE破坏管道

-14,-ALRM

-STOP停止进程,但不结束

-CONT继续运行已停止的进程

-9-1结束当前用户的所有进程

pkill<进程名>

结束进程族。如果结束单个进程,请用 kill

killall<进程名>

killall和pkill应用方法差不多,也是直接杀死运行中的程序;如果您想杀掉单个进程,请用kill来杀掉。

xkill

在图形界面中点杀进程。

当xkill运行时鼠标指针变为骷髅图案,哪个图形程序崩溃一点就OK了。如果您想终止xkill,就按右键取消。

比如当firefox出现崩溃不能退出时,点鼠标就能杀死firefox。

xkill调用方法:

[root@localhost~]# xkill

来源:

linux中pkill的简单用法

pkill和killall应用方法差不多,也是直接杀死运行中的程序;如果您想杀掉单个进程,请用kill来杀掉。

必要参数

-f显示完整程序

-l显示源代码

-n显示新程序

-o显示旧程序

-v与条件不符合的程序

-x与条件符合的程序

选择参数

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

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

-u<用户>指定用户的程序

应用方法:

#pkill正在运行的程序名

举例:

Java代码

[root@localhost beinan]# pgrep-l gaim

2979 gaim

[root@localhost beinan]# pkill gaim

也就是说:

kill对应的是 PID

pkill对应的是COMMAND

例如在Ubuntu中强制结束一个已成僵尸的名称为:firefox,PID为:1603的进程,可以如下操作:

方法一:

(1)ctrl+alt+t,调出终端,输入 top,然后就可以看到现在系统的进程,是按占用资源从多到少排列的。

找到要关掉的进程,记下该进程第一列的数字编号(假设是xx),然后输入q,退回终端。

(2)输入:sudo kill xx(对应刚才的编号)。

方法二:

ctrl+alt+t,调出终端,输入:sudo pkill firefox

范例1:杀死指定进程

Java代码

root@snail-hnlinux:~# ps-A//显示所有进程

PID TTY TIME CMD

1? 00:00:03 init

2? 00:00:00 kthreadd

3? 00:00:00 migration/0

4? 00:00:00 ksoftirqd/0

5? 00:00:00 watchdog/0

……忽略部分

28382? 00:00:00 gvfsd-http

28391? 00:07:07 software-center

30467? 00:00:31 designer-qt4

30487? 00:00:06 gnome-terminal

30488? 00:00:00 gnome-pty-helpe

30489 pts/0 00:00:00 bash

30670? 00:00:00 debconf-communi

30749 pts/0 00:00:17 gedit

31155? 00:00:00 dhclient

31325? 00:00:01 sshd

31327? 00:00:00 sshd

31400 pts/1 00:00:00 bash

31485 pts/2 00:00:00 bash

31653? 00:00:00 aptd

31658 pts/1 00:00:00 ps

root@snail-hnlinux:~# pidof sshd//查看与sshd相关进程

31327 31325 2095

root@snail-hnlinux:~# pkill-9 sshd//杀死指定进程

范例2:杀死同义终端下的进程

Java代码

root@snail-hnlinux:~# pkill-t tty1//杀死终端1下的所有进程

范例3:杀死指定用户进程

Java代码

root@snail-hnlinux:~# pkill-u hnlinux

范例4:反向选择

Java代码

root@snail-hnlinux:~# pkill-vu hnlinux//杀死不属于hnlinux用户的所有进程

————————————————

版权声明:本文为CSDN博主「MrCoderr」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:

阅读剩余
THE END