亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Linux系統(tǒng)中kill命令殺死進(jìn)程常用小技巧分享

 更新時(shí)間:2023年06月12日 09:23:00   作者:木木統(tǒng)  
這篇文章主要介紹了Linux系統(tǒng)中kill命令殺死進(jìn)程常用小技巧,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Linux系統(tǒng)中kill命令殺死進(jìn)程小技巧

在Linux的系統(tǒng)中,kill是我們最常見的命令之一。

kill,英語中為殺死的意思,顧名思義,就是用來殺死一些東西的命令,在linux中就是用來殺死系統(tǒng)中的進(jìn)程。

在Windows系統(tǒng)中,如果應(yīng)用程序無反應(yīng)我們會(huì)啟動(dòng)任務(wù)管理器終止應(yīng)用,而在Linux系統(tǒng)中則使用kill命令,kill命令主要用于強(qiáng)制關(guān)閉進(jìn)程,下面就介紹一下Linux中kill命令的基礎(chǔ)用法和進(jìn)階用法。

基礎(chǔ)

一般情況下,想要?dú)⑺篮笈_(tái)一個(gè)進(jìn)程,我們通常只需要做兩步:

第一步:找到某個(gè)應(yīng)用的進(jìn)程號(hào)

ps -aux | grep 應(yīng)用名稱 

或 ps -ef | grep 應(yīng)用名稱 

或者 top  | grep 應(yīng)用名稱 

第二步:殺死進(jìn)程

正常殺死進(jìn)程:kill  -15  pid號(hào)

如殺死上圖中pid為10的進(jìn)程:kill -15 10

強(qiáng)制殺死進(jìn)程: kill -9 pid號(hào)

注:殺死進(jìn)程的時(shí)候,推薦是正常殺死進(jìn)程,而不是強(qiáng)制殺死進(jìn)程。

原理解讀:

Kill命令和信號(hào)

當(dāng)你執(zhí)行一個(gè)“kill”命令,你實(shí)際上發(fā)送了一個(gè)信號(hào)給系統(tǒng),告訴它去終結(jié)不正常的應(yīng)用??偣灿?0個(gè)你可以使用的信號(hào),但是基本上你只需要知道SIGTERM(15)(正常殺死信號(hào))和SIGKILL(9)(強(qiáng)制殺死信號(hào))。

你可以用這個(gè)命令看到所有信號(hào)的列表:

kill -l

上圖:共有64中信號(hào),每種信號(hào)均有名稱和對(duì)應(yīng)的信號(hào)序列號(hào),當(dāng)想要發(fā)送什么信號(hào)給系統(tǒng)的時(shí)候,只要告知系統(tǒng)該信號(hào)的序列號(hào)即可。如想要強(qiáng)制結(jié)束進(jìn)程,則需要發(fā)送9號(hào)信號(hào)給系統(tǒng),應(yīng)該是這樣的:kill -9 pid號(hào)。

實(shí)際中常用的只有9種信號(hào)(最常用的只有2中:9 和 15):

  • <1> 1 終端斷線
  • <2>2 中斷(等同 Ctrl + C)
  • <3>3 退出(同 Ctrl + \)
  • <4>15 終止(可以使得進(jìn)程在退出之前清理并釋放資源)
  • <5> 9 強(qiáng)制終止
  • <6>18 繼續(xù)(與19相反)
  • <7>19 暫停(等同 Ctrl + Z)

進(jìn)階

1 查找進(jìn)程號(hào)的方式進(jìn)行改進(jìn)

以查找firefox進(jìn)程為例:

常規(guī):ps -aux | grep java

進(jìn)階:pgrep java 

或:  pidof firefox-bin (不推薦)

解讀:

  • pgrep: 這個(gè)命令是專門用于進(jìn)程查詢的grep。
  • pidof: 看到pidof想到啥?沒錯(cuò)pid of xx,字面翻譯過來就是 xx的PID。和pgrep相比稍顯不足的是,pidof必須給出進(jìn)程的全名。

2 將常規(guī)的兩步殺死進(jìn)程合并為一步

進(jìn)階1: kill -s 9 `ps -aux | grep firefox | awk '{print $2}'`

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

進(jìn)階2: pgrep firefox | xargs kill -s 9

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

進(jìn)階3:kill -s 9  `pgrep firefox`

進(jìn)階4: pkill -9 firefox

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

進(jìn)階5:killall -9 firefox

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

3 強(qiáng)制踢掉登陸用戶

有的時(shí)候,可能我們的系統(tǒng)中有很多用戶在同時(shí)登陸這一臺(tái)服務(wù)器,而我們想要踢掉某個(gè)不良用戶,就可以執(zhí)行如下操作。

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

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

(3)踢掉用戶ats

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

pkill -u ats(按用戶名踢,ats為用戶名)

kill的注意事項(xiàng)

1.如果kill時(shí),不指定信號(hào)就會(huì)默認(rèn)發(fā)送信號(hào)15,終止指定進(jìn)程,使得進(jìn)程在退出之前清理并釋放資源。

2.使用kill時(shí),root用戶將影響用戶的進(jìn)程,非root用戶只能影響自己的進(jìn)程。

3.使用kill時(shí),當(dāng)kill向進(jìn)程發(fā)送信號(hào),必須是這些進(jìn)程的主人。如果殺死一個(gè)沒有權(quán)限殺死的進(jìn)程或殺死一個(gè)不存在的進(jìn)程,就會(huì)報(bào)錯(cuò)。如下:-bash: kill: (20) - No such process

4.使用kill時(shí),如果成功地發(fā)送了信號(hào),shell會(huì)在屏幕上顯示出進(jìn)程的終止信息。(按下Enter鍵,就會(huì)顯示出來)

5.使用kill時(shí),如果使用信號(hào)9,使進(jìn)程強(qiáng)行終止,可能會(huì)使數(shù)據(jù)丟失或者終端無法恢復(fù)到正常狀態(tài)。

6.init進(jìn)程,它是一個(gè)由內(nèi)核啟動(dòng)的用戶級(jí)進(jìn)程,所有進(jìn)程都是init進(jìn)程的子孫,init不可殺。

Linux中殺死進(jìn)程kill和killall命令的區(qū)別

第一種方法

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

注:信號(hào)代碼可以省略;我們常用的信號(hào)代碼是 -9 ,表示強(qiáng)制終止。

對(duì)于僵尸進(jìn)程,可以用kill -9 來強(qiáng)制終止退出。

kill 的應(yīng)用,是和ps 或pgrep 命令結(jié)合在一起使用的。

如下:

1 [root@-linux-byx ~]# ps -ef|grep magic_Linux
2 root 13020 1 1 1月16 ? 00:33:35 ./magic_Linux01
3 root 22761 1 1 01:27 ? 00:06:35 ./magic_Linux02
4 root 25279 1 0 1月16 ? 00:16:48 ./magic_Linux03
5 root 27694 1 0 1月16 ? 00:16:48 ./magic_Linux04

kill 命令實(shí)例:用kill 殺死 進(jìn)程 magic_Linux02

[root@-linux-byx ~]# kill -9 22761

與kill命令不同的是,killall 命令可以根據(jù)進(jìn)程名稱來殺死進(jìn)程。kill 命令 則先需要找到進(jìn)程的id。

第二種方法

killall 通過程序的名字,直接殺死所有進(jìn)程

killall 也和ps或pgrep 結(jié)合使用,比較方便。

如下:

1 [root@-linux-byx ~]# pgrep -l magic_Linux
2 13020 magic_Linux01
3 22761 magic_Linux02
4 25279 magic_Linux03
5 27694 magic_Linux04

killall 命令實(shí)例: 用killall 殺死 進(jìn)程 magic_Linux02

[root@-linux-byx ~]# killall magic_Linux

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Linux查看分區(qū)文件系統(tǒng)類型的方法總結(jié)

    Linux查看分區(qū)文件系統(tǒng)類型的方法總結(jié)

    這篇文章主要給大家總結(jié)介紹了關(guān)于Linux查看分區(qū)文件系統(tǒng)類型的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用linux系統(tǒng)具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-08-08
  • Apache常用虛擬主機(jī)配置方法解析

    Apache常用虛擬主機(jī)配置方法解析

    這篇文章主要介紹了Apache常用虛擬主機(jī)配置方法解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • CentOS 6.8 安裝vsftpd的方法步驟

    CentOS 6.8 安裝vsftpd的方法步驟

    這篇文章主要介紹了CentOS 6.8 安裝vsftpd的方法步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-04-04
  • Linux關(guān)機(jī)時(shí)執(zhí)行指定腳本功能實(shí)現(xiàn)

    Linux關(guān)機(jī)時(shí)執(zhí)行指定腳本功能實(shí)現(xiàn)

    本篇文章給大家分享了Linux關(guān)機(jī)時(shí)執(zhí)行指定腳本功能的實(shí)現(xiàn)詳解,對(duì)此有需要的朋友跟著小編一起學(xué)習(xí)下。
    2018-03-03
  • 詳解寶塔Linux面板FTP無法連接的解決辦法

    詳解寶塔Linux面板FTP無法連接的解決辦法

    這篇文章主要介紹了詳解寶塔Linux面板FTP無法連接的解決辦法,文章中詳細(xì)的介紹了FTP無法連接的解決方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • 如何修改CentOS服務(wù)器時(shí)間為北京時(shí)間

    如何修改CentOS服務(wù)器時(shí)間為北京時(shí)間

    這篇文章主要介紹了修改CentOS服務(wù)器時(shí)間為北京時(shí)間的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2018-10-10
  • Linux磁盤掛載、分區(qū)、擴(kuò)容操作的實(shí)現(xiàn)方法

    Linux磁盤掛載、分區(qū)、擴(kuò)容操作的實(shí)現(xiàn)方法

    這篇文章主要介紹了Linux磁盤掛載、分區(qū)、擴(kuò)容操作的實(shí)現(xiàn)方法,詳細(xì)的介紹了這些基礎(chǔ)概念及其實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-12-12
  • 最新評(píng)論