中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

linux殺死進程命令kill如何使用

發布時間:2023-01-04 15:19:11 來源:億速云 閱讀:322 作者:iii 欄目:建站服務器

本篇內容介紹了“linux殺死進程命令kill如何使用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

在linux中,kill命令是用來殺死系統中的進程,使用步驟:1、利用ps、top、pgrep等命令獲取指定應用的進程號;2、使用kill命令根據進程號殺死該進程,語法“kill  -15  進程號”或“ kill -9 進程號”。執行原理:kill命令會向操作系統內核發送一個信號(多是終止信號)和目標進程的PID號,然后系統內核根據收到的信號類型,對指定進程進行相應的操作。

在Linux的系統中,kill是我們最常見的命令之一。

kill,英語中為殺死的意思,顧名思義,就是用來殺死一些東西的命令,在linux中就是用來殺死系統中的進程。

kill 命令的執行原理是這樣的,kill 命令會向操作系統內核發送一個信號(多是終止信號)和目標進程的 PID,然后系統內核根據收到的信號類型,對指定進程進行相應的操作。

在Windows系統中,如果應用程序無反應我們會啟動任務管理器終止應用,而在Linux系統中則使用kill命令,kill命令主要用于強制關閉進程,下面就介紹一下Linux中kill命令的基礎用法和進階用法。

基礎用法

殺死后臺進程的步驟:

一般情況下,想要殺死后臺一個進程,我們通常只需要做兩步:

第一步:找到某個應用的進程號:

ps -aux | grep 應用名稱 

或 ps -ef | grep 應用名稱 

或者 top  | grep 應用名稱

linux殺死進程命令kill如何使用

第二步:殺死進程

  • 正常殺死進程:

kill  -15  pid號

如殺死上圖中pid為10的進程:kill -15 10

  • 強制殺死進程:

 kill -9 pid號

注:殺死進程的時候,推薦是正常殺死進程,而不是強制殺死進程。

原理解讀:Kill命令和信號

  當你執行一個“kill”命令,你實際上發送了一個信號給系統,告訴它去終結不正常的應用。總共有60個你可以使用的信號,但是基本上你只需要知道SIGTERM(15)(正常殺死信號)和SIGKILL(9)(強制殺死信號)。

  你可以用這個命令看到所有信號的列表:

  kill -l

linux殺死進程命令kill如何使用

上圖:共有64中信號,每種信號均有名稱和對應的信號序列號,當想要發送什么信號給系統的時候,只要告知系統該信號的序列號即可。如想要強制結束進程,則需要發送9號信號給系統,應該是這樣的:kill -9 pid號。

實際中常用的只有9種信號(最常用的只有2中:9 和 15):

  • 1 終端斷線

  • 2 中斷(等同 Ctrl + C)

  • 3 退出(同 Ctrl + \)

  • 15 終止(可以使得進程在退出之前清理并釋放資源)

  • 9 強制終止

  • 18 繼續(與19相反)

  • 19 暫停(等同 Ctrl + Z)

進階用法

1 查找進程號的方式進行改進

以查找firefox進程為例:

常規:ps -aux | grep java

進階:pgrep java

或:  pidof firefox-bin (不推薦)

解讀:

  • pgrep: 這個命令是專門用于進程查詢的grep。

  • pidof: 看到pidof想到啥?沒錯pid of xx,字面翻譯過來就是 xx的PID。和pgrep相比稍顯不足的是,pidof必須給出進程的全名。

2 將常規的兩步殺死進程合并為一步

進階1:

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

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

進階2:

pgrep firefox | xargs kill -s 9

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

進階3:

kill -s 9  `pgrep firefox`

進階4:

pkill -9 firefox

前面三個進階雖然將查找進程和刪除進程合并為一個步驟,但是,仍然是兩個命令,這里采用pkill命令將查找和殺掉進程的兩個命令合并為一個命令了,即:pkill=pgrep + kill,表示找到并殺死進程。

進階5:

killall -9 firefox

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

3 強制踢掉登陸用戶

有的時候,可能我們的系統中有很多用戶在同時登陸這一臺服務器,而我們想要踢掉某個不良用戶,就可以執行如下操作。

(1)查看用戶登陸信息: who

linux殺死進程命令kill如何使用

(2)查看自己的身份(避免把自己踢掉):whoami

(3)踢掉用戶ats

pkill -kill -t pts/2(按終端踢,pts/2為所踢用戶的終端)
 或
 pkill -u ats(按用戶名踢,ats為用戶名)

kill的注意事項

1.如果kill時,不指定信號就會默認發送信號15,終止指定進程,使得進程在退出之前清理并釋放資源。

2.使用kill時,root用戶將影響用戶的進程,非root用戶只能影響自己的進程。

3.使用kill時,當kill向進程發送信號,必須是這些進程的主人。如果殺死一個沒有權限殺死的進程或殺死一個不存在的進程,就會報錯。如下:

-bash: kill: (20) - No such process

4.使用kill時,如果成功地發送了信號,shell會在屏幕上顯示出進程的終止信息。(按下Enter鍵,就會顯示出來)

5.使用kill時,如果使用信號9,使進程強行終止,可能會使數據丟失或者終端無法恢復到正常狀態。

6.init進程,它是一個由內核啟動的用戶級進程,所有進程都是init進程的子孫,init不可殺。

“linux殺死進程命令kill如何使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

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

AI

清原| 汪清县| 武清区| 全南县| 郸城县| 来凤县| 双城市| 和田县| 长沙县| 昌平区| 常宁市| 白银市| 宜章县| 兰州市| 茌平县| 来宾市| 新和县| 福海县| 霍州市| 大同市| 承德市| 仪征市| 沁阳市| 崇明县| 洮南市| 胶南市| 大田县| 涿鹿县| 德令哈市| 天峨县| 昭平县| 平度市| 蒙阴县| 富锦市| 榆树市| 乃东县| 衡东县| 新竹县| 屏南县| 理塘县| 集贤县|