导航:首页 > 操作系统 > linux父进程kill

linux父进程kill

发布时间:2024-03-29 11:47:14

‘壹’ linux𨱒姝昏繘绋嫔懡浠killlinux𨱒姝昏繘绋

linuxkill𨱒涓嶆帀杩涚▼锛

linux杩涚▼kill涓嶆帀

涓鏄杩涚▼宸茬粡鎴愪负镀垫昏繘绋,褰揿畠镄勭埗杩涚▼灏嗗畠锲炴敹鎴栧皢瀹幂殑鐖惰繘绋媖ill鎺夊嵆鍙鍦╬s杈揿嚭鐪嬩笉鍒颁简;

浜屾槸杩涚▼姝e勫湪鍐呮牳鐘舵佷腑,Linux杩涚▼杩愯屾椂鍒嗗唴镙稿拰鐢ㄦ埛涓ょ岖姸镐,褰撹繘绋嬭繘鍏ュ唴镙哥姸镐佸悗,浼氩睆钄芥墍链変俊鍙,鍖呮嫭SIGKIL,镓浠ヨ繖涓镞跺檏ill-9涔熷彉寰楁棤鏁堜简銆

濡备綍kill𨱒鎺塴inux绯荤粺涓镄勫兊灏竏efunct杩涚▼锛

镓惧埌璇defunct镀靛案杩涚▼镄勭埗杩涚▼锛屽皢璇ヨ繘绋嬬殑鐖惰繘绋嬫潃鎺夛纴鍒欐defunct杩涚▼灏呜嚜锷ㄦ秷澶

linux濡备綍镆ヨ繘绋嬶纴𨱒杩涚▼锛岄吨钖杩涚▼锛

镆ユ垒杩涚▼ps-ef|grep-vgrep|grep"XXXXX"𨱒杩涚▼kill-9`ps-ef|grep-vgrep|grepXXXXX|awk'{print$2}'`閲嶈捣serviceXXXXrestart

濡备綍𨱒鎺茔inux涓镄勫兊灏歌繘绋嬶纻

1銆佷娇鐢╰op锻戒护灏卞彲浠ユ煡鐪嫔埌镀靛案杩涚▼銆

2銆佹煡鐪嫔叿浣撹繘绋媝id#ps-A-ostat,ppid,pid,cmd|grep-e"^"璇存槑锛氢笉鏄镆ヤ笉鍑哄兊灏歌繘绋嬶纴鏄锲犱负鎴戦吨钖浜嗙郴缁燂纴娌℃湁镀靛案杩涚▼銆

3銆佹潃姝诲兊灏歌繘绋#kill-9pid鍙

‘贰’ 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, 然后用鼠标单击想要杀死的应用,如图

以下内容引用自: http://justcoding.iteye.com/blog/1931347

◆编者注:
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 侦测不到。

来源:http://www.ubuntuhome.com/ubuntu-kill-command.html

下面来了解相关命令:

一、查看进程的命令 有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

来源: http://www.cnblogs.com/1024-wusuopuBUPT/archive/2012/02/16/2354132.html

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
3 ? 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版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/coderder/article/details/78899823

‘叁’ linux鐖惰繘绋嫔瓙杩涚▼linux鐖惰繘绋嫔瓙杩涚▼

linuxkill𨱒涓嶆帀杩涚▼锛

linux杩涚▼kill涓嶆帀

涓鏄杩涚▼宸茬粡鎴愪负镀垫昏繘绋,褰揿畠镄勭埗杩涚▼灏嗗畠锲炴敹鎴栧皢瀹幂殑鐖惰繘绋媖ill鎺夊嵆鍙鍦╬s杈揿嚭鐪嬩笉鍒颁简;

浜屾槸杩涚▼姝e勫湪鍐呮牳鐘舵佷腑,Linux杩涚▼杩愯屾椂鍒嗗唴镙稿拰鐢ㄦ埛涓ょ岖姸镐,褰撹繘绋嬭繘鍏ュ唴镙哥姸镐佸悗,浼氩睆钄芥墍链変俊鍙,鍖呮嫭SIGKIL,镓浠ヨ繖涓镞跺檏ill-9涔熷彉寰楁棤鏁堜简銆

linux涓嬩粈涔埚彨鐖惰繘绋嫔拰瀛愯繘绋嬶纻

1銆佺埗杩涚▼

鎸囧凡鍒涘缓涓涓鎴栧氢釜瀛愯繘绋嬬殑杩涚▼銆傚湪UNIX閲岋纴闄や简杩涚▼0浠ュ栫殑镓链夎繘绋嬮兘鏄鐢卞叾浠栬繘绋嬩娇鐢ㄧ郴缁熻皟鐢╢ork鍒涘缓镄勶纴杩欓噷璋幂敤fork鍒涘缓鏂拌繘绋嬬殑杩涚▼鍗充负鐖惰繘绋嬶纴钥岀浉瀵瑰簲镄勪负鍏跺垱寤哄嚭镄勮繘绋嫔垯涓哄瓙杩涚▼锛屽洜钥岄櫎浜呜繘绋0浠ュ栫殑杩涚▼閮藉彧链変竴涓鐖惰繘绋嬶纴浣嗕竴涓杩涚▼鍙浠ユ湁澶氢釜瀛愯繘绋嬨

2銆佸瓙杩涚▼

鎸囩殑鏄鐢卞彟涓杩涚▼锛埚瑰簲绉颁箣涓虹埗杩涚▼锛夋墍鍒涘缓镄勮繘绋嬨傚瓙杩涚▼缁ф圹浜嗗瑰簲镄勭埗杩涚▼镄勫ぇ閮ㄥ垎灞炴э纴濡傛枃浠舵弿杩扮︺傚湪Unix涓锛屽瓙杩涚▼阃氩父涓虹郴缁熻皟鐢╢ork镄勪骇鐗┿傚湪姝ゆ儏鍐典笅锛屽瓙杩涚▼涓寮濮嫔氨鏄鐖惰繘绋嬬殑鍓链锛岃屽湪杩欎箣钖庯纴镙规嵁鍏蜂綋闇瑕侊纴瀛愯繘绋嫔彲浠ュ熷姪exec璋幂敤𨱒ラ摼寮忓姞杞藉彟涓绋嫔簭銆

linux镐庝箞纭璁よ繘绋嬫槸璋佽皟鐢锛

阃氲繃pid锛宲s-lA鍜宲saxjf閮借兘鐪嫔埌鐖惰繘绋嬬殑PID锛坧pid锛夛纴缂栫▼镄勮瘽锛屽彲鐢╣etppid鍑芥暟

‘肆’ Linux C中父进程退出时,使用什么方法可使子进程退出

发信号,kill(子进程ID, SIG信号)
如果不只一个子进程,需要把所有的子进程ID存起来,然后用上述方法一个一个的kill
SIG信号需要能使子进程退出,如SIGQUIT,SIGINT...等一些默认的信号;也可以在子进程中捕获某些信号,然后子进程收到后自己退出
注意:最好是在子进程退出时,父进程要等待所有子进程退出

阅读全文

与linux父进程kill相关的资料

热点内容
如何评价如故app 浏览:147
建立表结构的命令 浏览:579
安卓文件为什么苹果手机打不开 浏览:82
东奥轻4可以在哪个app做题 浏览:163
金融科技加密卡 浏览:835
程序员那么开一共有多少集 浏览:980
面试程序员被问数学问题怎么办 浏览:91
背大学英语的app哪个最好 浏览:719
哪个app买的衣服好 浏览:467
天刀以前玩过的服务器忘了怎么办 浏览:211
单片机基础代码解读 浏览:233
广东青少年编程学习 浏览:509
买男士香水去哪个app 浏览:548
androidsleep函数 浏览:151
android内核代码下载 浏览:665
服务器如何添加墨迹 浏览:747
diglinux安装 浏览:279
虚拟机执行命令 浏览:445
cctv16奥林匹克频道加密播出 浏览:900
c盘微信文件夹隐私 浏览:229