亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux殺進程的方法有哪些

發布時間:2022-03-23 16:54:44 來源:億速云 閱讀:127 作者:iii 欄目:web開發

本文小編為大家詳細介紹“linux殺進程的方法有哪些”,內容詳細,步驟清晰,細節處理妥當,希望這篇“linux殺進程的方法有哪些”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

常規篇:

首先,用ps查看進程,方法如下:

復制代碼 代碼如下:

$ ps -ef

$ 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

此時如果我想殺了火狐的進程就在終端輸入:

復制代碼 代碼如下:

$ kill -s 9 1827

其中-s 9 制定了傳遞給進程的信號是9,即強制、盡快終止進程。各個終止信號及其作用見附錄。

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

簡單吧,但有個問題,進程少了則無所謂,進程多了,就會覺得痛苦了,無論是ps -ef 還是ps -aux,每次都要在一大串進程信息里面查找到要殺的進程,看的眼都花了。

進階篇:

改進1:

把ps的查詢結果通過管道給grep查找包含特定字符串的進程。管道符“|”用來隔開兩個命令,管道符左邊命令的輸出會作為管道符右邊命令的輸入。

復制代碼 代碼如下:

$ 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

改進2——使用pgrep:

一看到pgrep首先會想到什么?沒錯,grep!pgrep的p表明了這個命令是專門用于進程查詢的grep。

復制代碼 代碼如下:

$ pgrep firefox
1827

看到了什么?沒錯火狐的pid,接下來又要打字了:

$kill -s 9 1827

改進3——使用pidof:

看到pidof想到啥?沒錯pid of xx,字面翻譯過來就是 xx的pid。

復制代碼 代碼如下:

$ pidof firefox-bin
1827

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

復制代碼 代碼如下:

$kill -s 9 1827

無論使用ps 然后慢慢查找進程pid 還是用grep查找包含相應字符串的進程,亦或者用pgrep直接查找包含相應字符串的進程pid,然后手動輸入給kill殺掉,都稍顯麻煩。有沒有更方便的方法?有!

改進4:

復制代碼 代碼如下:

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

說明:

“grep firefox”的輸出結果是,所有含有關鍵字“firefox”的進程。

“grep -v grep”是在列出的進程中去除含有關鍵字“grep”的進程。

“cut -c 9-15”是截取輸入行的第9個字符到第15個字符,而這正好是進程號pid。

“xargs kill -s 9”中的xargs命令是用來把前面命令的輸出結果(pid)作為“kill -s 9”命令的參數,并執行該命令。“kill -s 9”會強行殺掉指定進程。

難道你不想抱怨點什么?沒錯太長了

改進5:

知道pgrep和pidof兩個命令,干嘛還要打那么長一串!

復制代碼 代碼如下:

$ pgrep firefox | xargs kill -s 9

改進6:

復制代碼 代碼如下:

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

有一個比較郁悶的地方,進程已經正確找到并且終止了,但是執行完卻提示找不到進程。

其中awk '{print $2}' 的作用就是打印(print)出第二列的內容。根據常規篇,可以知道ps輸出的第二列正好是pid。就把進程相應的pid通過xargs傳遞給kill作參數,殺掉對應的進程。

改進7:

難道每次都要調用xargs把pid傳遞給kill?答案是否定的:

復制代碼 代碼如下:

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

改進8:

沒錯,命令依然有點長,換成pgrep。

復制代碼 代碼如下:

$kill -s 9 `pgrep firefox`

改進9——pkill:

看到pkill想到了什么?沒錯pgrep和kill!pkill=pgrep+kill。

復制代碼 代碼如下:

$pkill -9 firefox

說明:"-9" 即發送的信號是9,pkill與kill在這點的差別是:pkill無須 “s”,終止信號等級直接跟在 “-“ 后面。之前我一直以為是 "-s 9",結果每次運行都無法終止進程。

改進10——killall:

killall和pkill是相似的,不過如果給出的進程名不完整,killall會報錯。pkill或者pgrep只要給出進程名的一部分就可以終止進程。

復制代碼 代碼如下:

$killall -9 firefox

讀到這里,這篇“linux殺進程的方法有哪些”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

江城| 蒙自县| 鄂尔多斯市| 中西区| 安阳县| 洱源县| 云浮市| 天水市| 平乡县| 七台河市| 会同县| 措勤县| 乃东县| 凤山县| 香格里拉县| 东莞市| 太康县| 望奎县| 曲水县| 淮滨县| 布尔津县| 福贡县| 西峡县| 扬中市| 华宁县| 乐平市| 彝良县| 阜城县| 竹山县| 大埔县| 志丹县| 山丹县| 陆河县| 新疆| 湖北省| 新兴县| 固始县| 泌阳县| 桓台县| 兴化市| 克什克腾旗|