linux下殺死進(jìn)程(kill)的N種方法

轉(zhuǎn)載一篇,最原始的出處已不可考逊桦,望見(jiàn)諒旱物!

常規(guī)篇:

首先,用ps查看進(jìn)程卫袒,方法如下:

$ ps -ef

……

smx?????? 1822???? 1? 0 11:38 ???????? 00:00:49 gnome-terminal

smx?????? 1823? 1822? 0 11:38 ???????? 00:00:00 gnome-pty-helper

smx?????? 1824? 1822? 0 11:38 pts/0??? 00:00:02 bash

smx?????? 1827???? 1? 4 11:38 ???????? 00:26:28 /usr/lib/firefox-3.6.18/firefox-bin

smx?????? 1857? 1822? 0 11:38 pts/1??? 00:00:00 bash

smx?????? 1880? 1619? 0 11:38 ???????? 00:00:00 update-notifier

……

smx????? 11946? 1824? 0 21:41 pts/0??? 00:00:00 ps -ef

或者:

$ ps -aux

……

smx?????? 1822? 0.1? 0.8? 58484 18152 ???????? Sl?? 11:38?? 0:49 gnome-terminal

smx?????? 1823? 0.0? 0.0?? 1988?? 712 ???????? S??? 11:38?? 0:00 gnome-pty-helper

smx?????? 1824? 0.0? 0.1?? 6820? 3776 pts/0??? Ss?? 11:38?? 0:02 bash

smx?????? 1827? 4.3? 5.8 398196 119568 ??????? Sl?? 11:38? 26:13 /usr/lib/firefox-3.6.18/firefox-bin

smx?????? 1857? 0.0? 0.1?? 6688? 3644 pts/1??? Ss?? 11:38?? 0:00 bash

smx?????? 1880? 0.0? 0.6? 41536 12620 ???????? S??? 11:38?? 0:00 update-notifier

……

smx????? 11953? 0.0? 0.0?? 2716? 1064 pts/0??? R+?? 21:42?? 0:00 ps -aux

此時(shí)如果我想殺了火狐的進(jìn)程就在終端輸入:

$ kill -s 9 1827

其中-s 9 制定了傳遞給進(jìn)程的信號(hào)是9宵呛,即強(qiáng)制、盡快終止進(jìn)程夕凝。各個(gè)終止信號(hào)及其作用見(jiàn)附錄宝穗。

1827則是上面ps查到的火狐的PID。

簡(jiǎn)單吧码秉,但有個(gè)問(wèn)題逮矛,進(jìn)程少了則無(wú)所謂,進(jìn)程多了转砖,就會(huì)覺(jué)得痛苦了须鼎,無(wú)論是ps -ef 還是ps -aux,每次都要在一大串進(jìn)程信息里面查找到要?dú)⒌倪M(jìn)程府蔗,看的眼都花了晋控。

進(jìn)階篇:

改進(jìn)1:

把ps的查詢結(jié)果通過(guò)管道給grep查找包含特定字符串的進(jìn)程。管道符“|”用來(lái)隔開(kāi)兩個(gè)命令姓赤,管道符左邊命令的輸出會(huì)作為管道符右邊命令的輸入赡译。

$ ps -ef | grep firefox

smx?????? 1827???? 1? 4 11:38 ???????? 00:27:33 /usr/lib/firefox-3.6.18/firefox-bin

smx????? 12029? 1824? 0 21:54 pts/0??? 00:00:00 grep --color=auto firefox

這次就清爽了。然后就是

$kill -s 9 1827

還是嫌打字多不铆?

改進(jìn)2——使用pgrep:

一看到pgrep首先會(huì)想到什么蝌焚?沒(méi)錯(cuò)誓斥,grep!pgrep的p表明了這個(gè)命令是專門用于進(jìn)程查詢的grep毕谴。

$ pgrep firefox

1827

看到了什么?沒(méi)錯(cuò)火狐的PID析珊,接下來(lái)又要打字了:

$kill -s 9 1827

改進(jìn)3——使用pidof:

看到pidof想到啥?沒(méi)錯(cuò)pid of?xx惧浴,字面翻譯過(guò)來(lái)就是 xx的PID奕剃。

$ pidof firefox-bin

1827

和pgrep相比稍顯不足的是,pidof必須給出進(jìn)程的全名柿顶。然后就是老生常談:

$kill -s 9 1827

無(wú)論使用ps 然后慢慢查找進(jìn)程PID 還是用grep查找包含相應(yīng)字符串的進(jìn)程嘁锯,亦或者用pgrep直接查找包含相應(yīng)字符串的進(jìn)程PID聂薪,然后手動(dòng)輸入給kill殺掉,都稍顯麻煩仁锯。有沒(méi)有更方便的方法翔悠?有!

改進(jìn)4:

$ps -ef | grep firefox | grep -v grep | cut -c 9-15 | xargs kill -s 9

說(shuō)明:

“grep firefox”的輸出結(jié)果是双炕,所有含有關(guān)鍵字“firefox”的進(jìn)程涝登。

“grep -v grep”是在列出的進(jìn)程中去除含有關(guān)鍵字“grep”的進(jìn)程。

“cut -c 9-15”是截取輸入行的第9個(gè)字符到第15個(gè)字符,而這正好是進(jìn)程號(hào)PID乱投。

“xargs kill -s 9”中的xargs命令是用來(lái)把前面命令的輸出結(jié)果(PID)作為“kill -s 9”命令的參數(shù),并執(zhí)行該命令剑刑∈┨停“kill -s 9”會(huì)強(qiáng)行殺掉指定進(jìn)程。

難道你不想抱怨點(diǎn)什么素挽?沒(méi)錯(cuò)太長(zhǎng)了

改進(jìn)5:

知道pgrep和pidof兩個(gè)命令狸驳,干嘛還要打那么長(zhǎng)一串!

$ pgrep firefox | xargs kill -s 9

改進(jìn)6:

$ ps -ef | grep firefox | awk '{print $2}' | xargs kill -9

kill: No such process

有一個(gè)比較郁悶的地方撰糠,進(jìn)程已經(jīng)正確找到并且終止了辩昆,但是執(zhí)行完卻提示找不到進(jìn)程。

其中awk '{print $2}' 的作用就是打邮醴(print)出第二列的內(nèi)容扇丛。根據(jù)常規(guī)篇,可以知道ps輸出的第二列正好是PID较屿。就把進(jìn)程相應(yīng)的PID通過(guò)xargs傳遞給kill作參數(shù)卓练,殺掉對(duì)應(yīng)的進(jìn)程。

改進(jìn)7:

難道每次都要調(diào)用xargs把PID傳遞給kill嘱么?答案是否定的:

$kill -s 9 `ps -aux | grep firefox | awk '{print $2}'`

改進(jìn)8:

沒(méi)錯(cuò)顽悼,命令依然有點(diǎn)長(zhǎng),換成pgrep冰评。

$kill -s 9 `pgrep firefox`

改進(jìn)9——pkill:

看到pkill想到了什么甲雅?沒(méi)錯(cuò)pgrep和kill!pkill=pgrep+kill抛人。

$pkill -9 firefox

說(shuō)明:"-9" 即發(fā)送的信號(hào)是9,pkill與kill在這點(diǎn)的差別是:pkill無(wú)須 “s”廷臼,終止信號(hào)等級(jí)直接跟在 “-“ 后面盅惜。之前我一直以為是 "-s 9",結(jié)果每次運(yùn)行都無(wú)法終止進(jìn)程结啼。

改進(jìn)10——killall:

killall和pkill是相似的,不過(guò)如果給出的進(jìn)程名不完整屈芜,killall會(huì)報(bào)錯(cuò)。pkill或者pgrep只要給出進(jìn)程名的一部分就可以終止進(jìn)程属铁。

$killall -9 firefox

附錄:各種信號(hào)及其用途


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末焦蘑,一起剝皮案震驚了整個(gè)濱河市盒发,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌拼卵,老刑警劉巖蛮艰,帶你破解...
    沈念sama閱讀 218,682評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件壤蚜,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡嘿悬,警方通過(guò)查閱死者的電腦和手機(jī)水泉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門钢拧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)炕横,“玉大人,你說(shuō)我怎么就攤上這事份殿。” “怎么了颂斜?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,083評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵沃疮,是天一觀的道長(zhǎng)梅肤。 經(jīng)常有香客問(wèn)我,道長(zhǎng)俊啼,這世上最難降的妖魔是什么左医? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,763評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮豪墅,結(jié)果婚禮上黔寇,老公的妹妹穿的比我還像新娘。我一直安慰自己屏轰,他們只是感情好憋飞,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著榛做,像睡著了一般内狸。 火紅的嫁衣襯著肌膚如雪昆淡。 梳的紋絲不亂的頭發(fā)上刽严,一...
    開(kāi)封第一講書(shū)人閱讀 51,624評(píng)論 1 305
  • 那天舞萄,我揣著相機(jī)與錄音,去河邊找鬼倒脓。 笑死,一個(gè)胖子當(dāng)著我的面吹牛实蓬,可吹牛的內(nèi)容都是我干的吊履。 我是一名探鬼主播,決...
    沈念sama閱讀 40,358評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼酌伊,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼缀踪!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起奏候,我...
    開(kāi)封第一講書(shū)人閱讀 39,261評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蔗草,失蹤者是張志新(化名)和其女友劉穎疆柔,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體旷档,經(jīng)...
    沈念sama閱讀 45,722評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡鞋屈,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了湖蜕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,030評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖炼杖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情熙含,我是刑警寧澤艇纺,帶...
    沈念sama閱讀 35,737評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站蚓聘,受9級(jí)特大地震影響盟劫,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜侣签,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評(píng)論 3 330
  • 文/蒙蒙 一影所、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧猴娩,春花似錦、人聲如沸裂七。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,941評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)徙瓶。三九已至,卻和暖如春侦镇,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背壳繁。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,057評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工闹炉, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人渣触。 一個(gè)月前我還...
    沈念sama閱讀 48,237評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像皂冰,于是被迫代替她去往敵國(guó)和親养篓。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 常規(guī)篇: 首先剔应,用ps查看進(jìn)程峻贮,方法如下: $ ps -ef …… smx 1822 1 0 11:38 ? 00...
    大福技術(shù)閱讀 4,673評(píng)論 0 2
  • 1) 查看進(jìn)程的方法: ps -ef或者ps aux root 15087 0.0 0.0 0 0 ?...
    依然飯?zhí)?/span>閱讀 7,281評(píng)論 0 2
  • 又來(lái)到了一個(gè)老生常談的問(wèn)題纤控,應(yīng)用層軟件開(kāi)發(fā)的程序員要不要了解和深入學(xué)習(xí)操作系統(tǒng)呢碉纺? 今天就這個(gè)問(wèn)題開(kāi)始,來(lái)談?wù)劜?..
    tangsl閱讀 4,129評(píng)論 0 23
  • 顯示其他用戶啟動(dòng)的進(jìn)程(a) 查看系統(tǒng)中屬于自己的進(jìn)程(x) 啟動(dòng)這個(gè)進(jìn)程的用戶和它啟動(dòng)的時(shí)間(u) 使用“dat...
    時(shí)光那么涼閱讀 1,479評(píng)論 0 0
  • 夏日的晨風(fēng)———涼爽耿导、輕柔态贤。如戀人穿過(guò)發(fā)絲的手。憑欄獨(dú)立,萬(wàn)物沉寂芥驳,如在夢(mèng)境茬高,唯我獨(dú)自默默地舔舐傷口,為了忘卻...
    瀟湘燕子閱讀 487評(píng)論 0 1