linux任務(wù)全殺命令 linux全部命令

linux操作系統(tǒng)下,怎么使用kill按照PID一次殺死多個(gè)進(jìn)程

可以使用xargs命令來實(shí)現(xiàn)。

站在用戶的角度思考問題,與客戶深入溝通,找到伊美網(wǎng)站設(shè)計(jì)與伊美網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國(guó)際域名空間、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋伊美地區(qū)。

ps aux | grep 進(jìn)程名 | awk '{print $2 }' | xargs kill

如何用linux組合指令查找某個(gè)進(jìn)程并殺死

root 3843 3598 0 00:08 pts/0 00:00:00 grep --color=auto fcitx

1.作用

kill命令用來中止一個(gè)進(jìn)程。

2.格式

kill [ -s signal | -p ] [ -a ] pid …

kill -l [ signal ]

3.參數(shù)

-s:指定發(fā)送的信號(hào)。

-p:模擬發(fā)送信號(hào)。

-l:指定信號(hào)的名稱列表。

pid:要中止進(jìn)程的ID號(hào)。

Signal:表示信號(hào)。

4.說明

進(jìn)程是Linux系統(tǒng)中一個(gè)非常重要的概念。Linux是一個(gè)多任務(wù)的操作系統(tǒng),系統(tǒng)上經(jīng)常同時(shí)運(yùn)行著多個(gè)進(jìn)程。我們不關(guān)心這些進(jìn)程究竟是如何分配的,或 者是內(nèi)核如何管理分配時(shí)間片的,所關(guān)心的是如何去控制這些進(jìn)程,讓它們能夠很好地為用戶服務(wù)。

Linux操作系統(tǒng)包括三種不同類型的進(jìn)程,每種進(jìn)程都有自己的特點(diǎn)和屬性。交互進(jìn)程是由一個(gè)Shell啟動(dòng)的進(jìn)程。交互進(jìn)程既可以在前臺(tái)運(yùn)行,也 可以在后臺(tái)運(yùn)行。批處理進(jìn)程和終端沒有聯(lián)系,是一個(gè)進(jìn)程序列。監(jiān)控進(jìn)程(也稱系統(tǒng)守護(hù)進(jìn)程)時(shí)Linux系統(tǒng)啟動(dòng)時(shí)啟動(dòng)的進(jìn)程,并在后臺(tái)運(yùn)行。例 如,httpd是著名的Apache服務(wù)器的監(jiān)控進(jìn)程。

kill命令的工作原理是,向Linux系統(tǒng)的內(nèi)核發(fā)送一個(gè)系統(tǒng)操作信號(hào)和某個(gè)程序的進(jìn)程標(biāo)識(shí)號(hào),然后系統(tǒng)內(nèi)核就可以對(duì)進(jìn)程標(biāo)識(shí)號(hào)指定的進(jìn)程進(jìn)行操 作。比如在top命令中,我們看到系統(tǒng)運(yùn)行許多進(jìn)程,有時(shí)就需要使用kill中止某些進(jìn)程來提高系統(tǒng)資源。系統(tǒng)多個(gè)虛擬控制臺(tái)的作用是當(dāng)一個(gè)程序出錯(cuò)造成 系統(tǒng)死鎖時(shí),可以切換到其它虛擬控制臺(tái)工作關(guān)閉這個(gè)程序。此時(shí)使用的命令就是kill,因?yàn)閗ill是大多數(shù)Shell內(nèi)部命令可以直接調(diào)用的。

5.應(yīng)用實(shí)例

(1)強(qiáng)行中止(經(jīng)常使用殺掉)一個(gè)進(jìn)程標(biāo)識(shí)號(hào)為324的進(jìn)程:

#kill -9 324

(2)解除Linux系統(tǒng)的死鎖

在Linux中有時(shí)會(huì)發(fā)生這樣一種情況:一個(gè)程序崩潰,并且處于死鎖的狀態(tài)。此時(shí)一般不用重新啟動(dòng)計(jì)算機(jī), 只需要中止(或者說是關(guān)閉)這個(gè)有問題的程序即 可。當(dāng)kill處于X-Window界面時(shí),主要的程序(除了崩潰的程序之外)一般都已經(jīng)正常啟動(dòng)了。此時(shí)打開一個(gè)終端,在那里中止有問題的程序。比如, 如果Mozilla瀏覽器程序出現(xiàn)了鎖死的情況,可以使用kill命令來中止所有包含有Mozolla瀏覽器的程序。首先用top命令查處該程序的 PID,然后使用kill命令停止這個(gè)程序:

#kill -SIGKILL XXX

其中,XXX是包含有Mozolla瀏覽器的程序的進(jìn)程標(biāo)識(shí)號(hào)。

(3)使用命令回收內(nèi)存

我們知道內(nèi)存對(duì)于系統(tǒng)是非常重要的,回收內(nèi)存可以提高系統(tǒng)資源。kill命令可以及時(shí)地中止一些“越軌”的程序或很長(zhǎng)時(shí)間沒有相應(yīng)的程序。例如,使用 top命令發(fā)現(xiàn)一個(gè)無用 (Zombie) 的進(jìn)程,此時(shí)可以使用下面命令:

#kill -9 XXX

其中,XXX是無用的進(jìn)程標(biāo)識(shí)號(hào)。

然后使用下面命令:

#free

此時(shí)會(huì)發(fā)現(xiàn)可用內(nèi)存容量增加了。

(4)killall命令

Linux下還提供了一個(gè)killall命令,可以直接使用進(jìn)程的名字而不是進(jìn)程標(biāo)識(shí)號(hào),例如:

# killall -HUP inetd

*殺死進(jìn)程最安全的方法是單純使用kill命令,不加修飾符,不帶標(biāo)志。

首先使用ps -ef命令確定要?dú)⑺肋M(jìn)程的PID,然后輸入以下命令:

# kill -pid

注釋:標(biāo)準(zhǔn)的kill命令通常都能達(dá)到目的。終止有問題的進(jìn)程,并把進(jìn)程的資源釋放給系統(tǒng)。然而,如果進(jìn)程啟動(dòng)了子進(jìn)程,只殺死父進(jìn)程,子進(jìn)程仍在 運(yùn)行,因此仍消耗資源。為了防止這些所謂的“僵尸進(jìn)程”,應(yīng)確保在殺死父進(jìn)程之前,先殺死其所有的子進(jìn)程。

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

*確定要?dú)⑺肋M(jìn)程的PID或PPID

# ps -ef | grep httpd

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

*以優(yōu)雅的方式結(jié)束進(jìn)程

# kill -l PID

-l選項(xiàng)告訴kill命令用好像啟動(dòng)進(jìn)程的用戶已注銷的方式結(jié)束進(jìn)程。當(dāng)使用該選項(xiàng)時(shí),kill命令也試圖殺死所留下的子進(jìn)程。但這個(gè)命令也不是總 能成功–或許仍然需要先手工殺死子進(jìn)程,然后再殺死父進(jìn)程。

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

*TERM信號(hào)

給父進(jìn)程發(fā)送一個(gè)TERM信號(hào),試圖殺死它和它的子進(jìn)程。

# kill -TERM PPID

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

*killall命令

killall命令殺死同一進(jìn)程組內(nèi)的所有進(jìn)程。其允許指定要終止的進(jìn)程的名稱,而非PID。

# killall httpd

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

*停止和重啟進(jìn)程

有時(shí)候只想簡(jiǎn)單的停止和重啟進(jìn)程。如下:

# kill -HUP PID

該命令讓Linux和緩的執(zhí)行進(jìn)程關(guān)閉,然后立即重啟。在配置應(yīng)用程序的時(shí)候,這個(gè)命令很方便,在對(duì)配置文件修改后需要重啟進(jìn)程時(shí)就可以執(zhí)行此命 令。

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

*絕殺 kill -9 PID

同意的 kill -s SIGKILL

這個(gè)強(qiáng)大和危險(xiǎn)的命令迫使進(jìn)程在運(yùn)行時(shí)突然終止,進(jìn)程在結(jié)束后不能自我清理。危害是導(dǎo)致系統(tǒng)資源無法正常釋放,一般不推薦使用,除非其他辦法都無 效。

當(dāng)使用此命令時(shí),一定要通過ps -ef確認(rèn)沒有剩下任何僵尸進(jìn)程。只能通過終止父進(jìn)程來消除僵尸進(jìn)程。如果僵尸進(jìn)程被init收養(yǎng),問題就比較嚴(yán)重了。殺死init進(jìn)程意味著關(guān)閉系統(tǒng)。

如果系統(tǒng)中有僵尸進(jìn)程,并且其父進(jìn)程是init,而且僵尸進(jìn)程占用了大量的系統(tǒng)資源,那么就需要在某個(gè)時(shí)候重啟機(jī)器以清除進(jìn)程表了。

Linux里面殺掉進(jìn)程命令是什么?

方法一: Terminal終端輸入: gnome-system-monitor,就可以打開system monitor

如圖:

然后找到相應(yīng)進(jìn)程,右擊選擇kill process就可以了

方法二: 通過kill 進(jìn)程id的方式可以實(shí)現(xiàn),

首先需要知道進(jìn)程id, 例如,想要?dú)⑺纅irefox的進(jìn)程,通過 ps -ef|grep firefox,可以查到firefox的進(jìn)程id:

然后通過 kill 3781 就可以關(guān)閉進(jìn)程了.

補(bǔ)充: 1. kill -9 來強(qiáng)制終止退出, 例如: kill -9 3781

2.特殊用法:

kill -STOP [pid]

發(fā)送SIGSTOP (17,19,23)停止一個(gè)進(jìn)程,而并不消滅這個(gè)進(jìn)程。

kill -CONT [pid]

發(fā)送SIGCONT (19,18,25)重新開始一個(gè)停止的進(jìn)程。

kill -KILL [pid]

發(fā)送SIGKILL (9)強(qiáng)迫進(jìn)程立即停止,并且不實(shí)施清理操作。

kill -9 -1

終止你擁有的全部進(jìn)程。

方法三: killall 通過程序的名字,來殺死進(jìn)程

例如: killall firefox

注意: 該命令可以使用 -9 參數(shù)來強(qiáng)制殺死進(jìn)程, killall -9 firefox

方法四: pkill 通過程序的名字, 直接殺死所有進(jìn)程

例如: pkill firefox

方法五: 通過xkill 可以殺死圖形程序應(yīng)用, 例如firefox崩潰無響應(yīng),可以使用該命令.

例如: 用法xkill , 會(huì)出現(xiàn)一個(gè)白色的x, 然后用鼠標(biāo)單擊想要?dú)⑺赖膽?yīng)用,如圖

以下內(nèi)容引用自:

◆編者注:

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

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

NAME (名稱)

killall – 以名字方式來殺死進(jìn)程

SYNOPSIS (總覽)

killall [-egiqvw] [-signal] name …

killall -l

killall -V

DESCRIPTION (描述)

killall 發(fā)送一條信號(hào)給所有運(yùn)行任意指定命令的進(jìn)程. 如果沒有指定信號(hào)名, 則發(fā)送SIGTERM.。

信號(hào)可以以名字 (如 -HUP ) 或者數(shù)字 (如 -1 ) 的方式指定. 信號(hào) 0 (檢查進(jìn)程是否存在)只能以數(shù)字方式指定。

如果命令名包括斜杠 (/), 那么執(zhí)行該特定文件的進(jìn)程將被殺掉, 這與進(jìn)程名無關(guān)。

如果對(duì)于所列命令無進(jìn)程可殺, 那么 killall 會(huì)返回非零值. 如果對(duì)于每條命令至少殺死了一個(gè)進(jìn)程, killall 返回 0。Killall 進(jìn)程決不會(huì)殺死自己 (但是可以殺死其它 killall 進(jìn)程)。

OPTIONS (選項(xiàng))

-e

對(duì) 于很長(zhǎng)的名字, 要求準(zhǔn)確匹配. 如果一個(gè)命令名長(zhǎng)于 15 個(gè)字符, 則可能不能用整個(gè)名字 (溢出了). 在這種情況下, killall 會(huì)殺死所有匹配名字前 15 個(gè)字符的所有進(jìn)程. 有了 -e 選項(xiàng),這樣的記錄將忽略. 如果同時(shí)指定了 -v 選項(xiàng), killall 會(huì)針對(duì)每個(gè)忽略的記錄打印一條消息。

-g

殺死屬于該進(jìn)程組的進(jìn)程. kill 信號(hào)給每個(gè)組只發(fā)送一次, 即使同一進(jìn)程組中包含多個(gè)進(jìn)程。

-i

交互方式,在殺死進(jìn)程之前征求確認(rèn)信息。

-l

列出所有已知的信號(hào)名。

-q

如果沒有進(jìn)程殺死, 不會(huì)提出抱怨。

-v

報(bào)告信號(hào)是否成功發(fā)送。

-V

顯示版本信息。

-w

等待所有殺的進(jìn)程死去. killall 會(huì)每秒檢查一次是否任何被殺的進(jìn)程仍然存在, 僅當(dāng)都死光后才返回. 注意: 如果信號(hào)被忽略或沒有起作用, 或者進(jìn)程停留在僵尸狀態(tài), killall 可能會(huì)永久等待。

FILES(相關(guān)文件)

/proc proc文件系統(tǒng)的存在位置。

KNOWN bugS (已知 BUGS)

以文件方式殺死只對(duì)那些在執(zhí)行時(shí)一直打開的可執(zhí)行文件起作用, 也即, 混雜的可執(zhí)行文件不能夠通過這種方式殺死。

要警告的是輸入 killall name 可能不會(huì)在非 Linux 系統(tǒng)上產(chǎn)生預(yù)期的效果, 特別是特權(quán)用戶執(zhí)行時(shí)要小心。

在兩次掃描的間隙, 如果進(jìn)程消失了而被代之以一個(gè)有同樣 PID 的新進(jìn)程, killall -w 偵測(cè)不到。

來源:

下面來了解相關(guān)命令:

一、查看進(jìn)程的命令 有ps、pstree、pgrep等:

1、ps

顯示進(jìn)程信息,參數(shù)可省略

-aux 以BSD風(fēng)格顯示進(jìn)程 常用

-efH 以System V風(fēng)格顯示進(jìn)程

-e , -A 顯示所有進(jìn)程

a 顯示終端上所有用戶的進(jìn)程

x 顯示無終端進(jìn)程

u 顯示詳細(xì)信息

f 樹狀顯示

w 完整顯示信息

l 顯示長(zhǎng)列表

在終端中執(zhí)行ps aux,

各列輸出字段的含義:

USER 進(jìn)程所有者

PID 進(jìn)程ID

PPID 父進(jìn)程

%CPU CPU占用率

%MEM 內(nèi)存占用率

NI 進(jìn)程優(yōu)先級(jí)。數(shù)值越大,占用CPU時(shí)間越少

VSZ 進(jìn)程虛擬大小

RSS 頁面文件占用

TTY 終端ID

STAT 進(jìn)程狀態(tài)

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

+---R 正在運(yùn)行,或在隊(duì)列中的進(jìn)程

+---S 處于休眠狀態(tài)

+---T 停止或被追蹤

+---Z 僵尸進(jìn)程

+---W 進(jìn)入內(nèi)存交換(從內(nèi)核2.6開始無效)

+---X 死掉的進(jìn)程

+--- 高優(yōu)先級(jí)

+---N 低優(yōu)先級(jí)

+---L 有些頁被鎖進(jìn)內(nèi)存

+---s 包含子進(jìn)程

+---+ 位于后臺(tái)的進(jìn)程組;

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

PID:進(jìn)程標(biāo)識(shí)符,系統(tǒng)為每一個(gè)進(jìn)程分配一個(gè)識(shí)別碼,稱為PID。

ps命令極為常用,其他命令還有:

2.pstree

樹狀顯示進(jìn)程信息

-a 顯示完整命令及參數(shù)

-c 重復(fù)進(jìn)程分別顯示

-c 顯示進(jìn)程ID PID

-n 按 PID 排列進(jìn)程

3.pgrep 進(jìn)程名

顯示進(jìn)程的PID

-l 顯示進(jìn)程名和進(jìn)程PID

-o 進(jìn)程起始ID

-n 進(jìn)程終止ID

二、結(jié)束進(jìn)程的命令 有kill、pkill、killall、xkill等:

kill [信號(hào)代碼] 進(jìn)程PID

根據(jù)PID向進(jìn)程發(fā)送信號(hào),常用來結(jié)束進(jìn)程,默認(rèn)信號(hào)為 -9

信號(hào)代碼,可取值如下:

-l [信號(hào)數(shù)字] 顯示、翻譯信號(hào)代碼

-9 , -KILL 發(fā)送 kill 信號(hào)退出

-6 , -ABRT 發(fā)送 abort 信號(hào)退出

-15 , -TERM 發(fā)送 Termination 信號(hào)

-1 , -HUP 掛起

-2 , -INT 從鍵盤中斷,相當(dāng)于 Ctrl+c

-3 , -QUIT 從鍵盤退出,相當(dāng)于 Ctrl+d

-4 , -ILL 非法指令

-11 , -SEGV 內(nèi)存錯(cuò)誤

-13 , -PIPE 破壞管道

-14 , -ALRM

-STOP 停止進(jìn)程,但不結(jié)束

-CONT 繼續(xù)運(yùn)行已停止的進(jìn)程

-9 -1 結(jié)束當(dāng)前用戶的所有進(jìn)程

pkill 進(jìn)程名

結(jié)束進(jìn)程族。如果結(jié)束單個(gè)進(jìn)程,請(qǐng)用 kill

killall 進(jìn)程名

killall和pkill 應(yīng)用方法差不多,也是直接殺死運(yùn)行中的程序;如果您想殺掉單個(gè)進(jìn)程,請(qǐng)用kill 來殺掉。

xkill

在圖形界面中點(diǎn)殺進(jìn)程。

當(dāng)xkill運(yùn)行時(shí)鼠標(biāo)指針變?yōu)轺俭t圖案,哪個(gè)圖形程序崩潰一點(diǎn)就OK了。如果您想終止xkill ,就按右鍵取消。

比如當(dāng)firefox 出現(xiàn)崩潰不能退出時(shí),點(diǎn)鼠標(biāo)就能殺死firefox 。

xkill 調(diào)用方法:

[root@localhost ~]# xkill

來源:

linux中pkill的簡(jiǎn)單用法

pkill 和killall 應(yīng)用方法差不多,也是直接殺死運(yùn)行中的程序;如果您想殺掉單個(gè)進(jìn)程,請(qǐng)用kill 來殺掉。

必要參數(shù)

-f 顯示完整程序

-l 顯示源代碼

-n 顯示新程序

-o 顯示舊程序

-v 與條件不符合的程序

-x 與條件符合的程序

選擇參數(shù)

-p進(jìn)程號(hào) 列出父進(jìn)程為用戶指定進(jìn)程的進(jìn)程信息

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

-u用戶 指定用戶的程序

應(yīng)用方法:

#pkill 正在運(yùn)行的程序名

舉例:

Java代碼

[root@localhost beinan]# pgrep -l gaim

2979 gaim

[root@localhost beinan]# pkill gaim

也就是說:

kill 對(duì)應(yīng)的是 PID

pkill 對(duì)應(yīng)的是COMMAND

例如在Ubuntu中強(qiáng)制結(jié)束一個(gè)已成僵尸的名稱為:firefox,PID為:1603的進(jìn)程,可以如下操作:

方法一:

(1)ctrl+alt+t,調(diào)出終端,輸入 top,然后就可以看到現(xiàn)在系統(tǒng)的進(jìn)程,是按占用資源從多到少排列的。

找到要關(guān)掉的進(jìn)程,記下該進(jìn)程第一列的數(shù)字編號(hào)(假設(shè)是xx),然后輸入q,退回終端。

(2)輸入:sudo kill xx(對(duì)應(yīng)剛才的編號(hào))。

方法二:

ctrl+alt+t,調(diào)出終端,輸入:sudo pkill firefox

范例1: 殺死指定進(jìn)程

Java代碼

root@snail-hnlinux:~# ps -A //顯示所有進(jìn)程

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相關(guān)進(jìn)程

31327 31325 2095

root@snail-hnlinux:~# pkill -9 sshd //殺死指定進(jìn)程

范例2:殺死同義終端下的進(jìn)程

Java代碼

root@snail-hnlinux:~# pkill -t tty1 //殺死終端1下的所有進(jìn)程

范例3: 殺死指定用戶進(jìn)程

Java代碼

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

范例4:反向選擇

Java代碼

root@snail-hnlinux:~# pkill -vu hnlinux //殺死不屬于hnlinux用戶的所有進(jìn)程

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

版權(quán)聲明:本文為CSDN博主「MrCoderr」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。

原文鏈接:

本文題目:linux任務(wù)全殺命令 linux全部命令
鏈接地址:http://muchs.cn/article12/dohohgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)面包屑導(dǎo)航、外貿(mào)建站、關(guān)鍵詞優(yōu)化、小程序開發(fā)、軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司