1. 程式人生 > >Linux中kill,pkill,killall和xkill命令彙總講解

Linux中kill,pkill,killall和xkill命令彙總講解

終止一個程序或終止一個正在執行的程式,一般是通過 kill 、killall、pkill、xkill 等進行。比如一個程式已死掉,但又不能退出,這時就應該考慮應用這些工具。
另外應用的場合就是在伺服器管理中,在不涉及資料庫伺服器程式的父程序的停止執行,也能用這些工具來終止。為什麼資料庫伺服器的父程序不能用這些工具殺死呢?原因非常簡單,這些工具在強行終止資料庫伺服器時,會讓資料庫產生更多的檔案碎片,當碎片達到一定程度的時候,資料庫就有崩潰的危險。比如mysql
伺服器最佳是按其正常的程式關閉,而不是用pkill mysqld 或killall mysqld這樣危險的動作;當然對於佔用資源過多的資料庫子程序,我們應該用kill 來殺掉。



1、 kill
kill的應用是和ps 或pgrep 命令結合在一起使用的;
kill 的用法:
kill [訊號程式碼]   程序ID
注:訊號程式碼能省略;我們常用的訊號程式碼是 -9 ,表示強制終止;

例如:
[[email protected] vivian]$ ps -auxf | grep httpd
vivian   27005  0.0  0.0  4928  680 pts/0    S    09:42   0:00  |           \_ grep httpd
root      1742  0.0  0.0 19588  560 ?        S    Nov24   0:00 /var/email/apache/bin/httpd -k start

nobody    1744  0.0  0.0 11304  540 ?        S    Nov24   0:03  \_ /var/email/apache/bin/httpd -k start
nobody   23055  0.0  2.3 327748 24232 ?      S    Nov26   1:43  \_ /var/email/apache/bin/httpd -k start
nobody   23087  0.0  2.4 328252 24832 ?      S    Nov26   1:38  \_ /var/email/apache/bin/httpd -k start
nobody   10607  0.0  2.3 327144 24064 ?      S    Nov27   1:12  \_ /var/email/apache/bin/httpd -k start


我們看上面例子中的第二列,就是程序PID的列,其中1742是httpd伺服器的父程序,剩下列出的程序都是1742的子程序;如果我們殺掉父程序1742的話,其下的子程序也會跟著死掉;
[[email protected] vivian]$ kill 1742
[[email protected] vivian]$ps -auxf | grep httpd //已經找不到httpd了


對於殭屍程序,能用kill -9 來強制終止退出;
比如一個程式已完全死掉,如果kill 不加訊號強度是沒有辦法退出,最佳的辦法就是加訊號強度 -9 


2 、killall
killall 通過程式的名字,直接殺死所有程序,咱們簡單說一下就行了。
用法:killall 正在執行的程式名
killall 也和ps或pgrep 結合使用,比較方便;通過ps或pgrep 來檢視哪些程式在執行;
舉例:
[[email protected] vivian]$ pgrep -l  httpd
1742 httpd
1744 httpd
23055 httpd
23087 httpd
10607 httpd
[[email protected] vivian]$ killall httpd
3、 pkill

pkill 和killall 應用方法差不多,也是直接殺死執行中的程式;如果你想殺掉單個程序,請用kill 來殺掉。
應用方法:
#pkill    正在執行的程式名

4 、xkill
xkill 是在桌面用的殺死影象介面的程式。比如當firefox 出現崩潰不能退出時,點滑鼠就能殺死firefox 。當xkill執行時出來和個人腦骨的圖示,哪個影象程式崩潰一點就OK了。如果你想終止xkill ,就按右鍵取消;
xkill 呼叫方法:
[[email protected] vivian]$ xkill

相關推薦

Linuxkillpkillkillallxkill命令彙總講解

終止一個程序或終止一個正在執行的程式,一般是通過 kill 、killall、pkill、xkill 等進行。比如一個程式已死掉,但又不能退出,這時就應該考慮應用這些工具。另外應用的場合就是在伺服器管理中,在不涉及資料庫伺服器程式的父程序的停止執行,也能用這些工具來終止。為

linux豎線'|'雙豎線‘||’&&&的意思

對於初學者來說這幾個意思可能只知道其中幾個的意思,下面我們來看一下。 1、豎線‘|’ ,在linux中是作為管道符的,將‘|’前面命令的輸出作為'|'後面的輸入。舉個例子 [ 1806

linux的_init應用含有__attribute__ section的意義作用

在linux/init.h中定義如下: #define __init__section(.init.text) __cold notrace 有些版本的核心是這樣定義的: #define __init      __attribute__ ((__section__ (".

Linuxinode詳解硬鏈接軟鏈接介紹

依賴關系 多少 mod cp命令 因此 如同 執行權限 file 指向 inode 詳解   在Linux中,我們經常會做一些關於數據的操作(備份、傳輸、壓縮等)或是要在後臺持續的運行一些程序。由於,工作的數據量很大或者工作要持續很長的時間,我們就必須保

linuxmycat的配置分片以及主從復制

chan 命令 star ice limit 第一步 execute ado master 1.1 安裝環境 1、jdk:要求jdk必須是1.7及以上版本 2、Mysql:推薦mysql是5.5以上版本 1.2 安裝步驟 Mycat有windows、linux多種版

linuxjps時報錯command not found

  版權宣告:本文為博主原創文章,歡迎擴散,擴散請務必註明出處。 https://blog.csdn.net/robinson_0612/article/details/78562642   需要安裝openjdk-devel包 [[email prot

【整理歸納】Linux檔案的AccessModifyChange區別

Access\Modify\Change的初始時間記錄都是檔案被建立的時間Access 指最後一次讀取的時間(訪問)Modify 指最後一次修改資料的時間(修改)Change 指最後一次修改元資料的時間(改變) Access 意思是“訪問”。 在終端上用cat、more 、less、grep、sed、 c

linux查詢使用者狀態並給已鎖使用者解鎖

1、首先如果當前是root使用者,那麼先切換到oracle使用者,然後開啟sqlplus,並且賦予dba角色。 [[email protected] ~]$ sqlplus /nolog

Linux多行註釋多行刪除。

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">想在github上發點兒專案。結果被牆了。因為之前改過hosts檔案,加

LINUXLVM的建立擴容增減大小

LVM(Logical Volumn Manager): 總體思路:分割槽成LVM格式(8e)---PV建立--VG建立---LV建立---格式化分割槽---MOUNT分割槽----e2fsadm調整LV大小 幾個關鍵詞: PV (Physical Volumn);

linuxcrontab的用法shell實現定時任務

crontab是任務排程中常用的方法 crontab命令的格式為:crontab -l | -r | -e | -i [username],引數介紹如下: cronatb -l:顯示使用者的Crontab檔案中的內容 corntab -i:刪除使用者的crontab檔案,不

LINUX塊設備文件字符設備文件的本質區別

hunk 特性 pan 操作系統 物理 文件的 顯示器 windows 緩存 在LINUX系統文件類型分類的文章中我們提到了 塊設備 和 字符設備文件,那麽什麽是塊設備 字符設備文件呢?他們之間有什麽本質上的區別呢? 設備文件分為 Block(塊) Device Dri

linuxdu與df的區別聯系

roc 換行 -h lib 文件占用 use .html -m 詳細 1,兩者區別 du,disk usage,是通過搜索文件來計算每個文件的大小然後累加,du能看到的文件只是一些當前存在 的,沒有被刪除的。他計算的大小就是當前他認為存在的所有文件大小的累加和。 df

Linux最大進程數最大文件數

second nice AI pre 添加記錄 cde sys 前言 over 前言 Linux系統中可以設置關於資源的使用限制,比如:進程數量,文件句柄數,連接數等等。 在日常的工作中應該遇到過: -bash: fork: retry: Resource tempora

LinuxKill程序的N種方法

常規篇: 首先,用ps檢視程序,方法如下: $ ps -ef …… smx       1822     1  0 11:38 ?        00:00:49 gnome-terminal smx       1823  1822  0 11:38 ?   

linuxdu與df的區別聯絡

1,兩者區別  du,disk usage,是通過搜尋檔案來計算每個檔案的大小,然後累加,du能看到的檔案只是一些當前存在的,沒有被刪除的。他計算的大小就是,當前他認為存在的所有檔案大小的累加和。 df,disk free,通過檔案系統來快速獲取空間大小的資訊。當我們刪除

linuxkill -HUP pid命令是幹什麼的?

                                                 kill -HUP pid   pid 是程序標識。如果想要更改配置而不需停止並重新啟動服務,請使用該命令。在對配置檔案作必要的更改後,發出該命令以動態更新服務配置。 根據約定

linuxPATH環境變數的作用使用方法

關於PATH的作用: PATH說簡單點就是一個字串變數,當輸入命令的時候LINUX會去查詢PATH裡面記錄的路徑。比如在根目錄/下可以輸入命令ls,在/usr目錄下也可以輸入ls,但其實ls這個命令根本不在這個兩個目錄下,事實上當你輸入命令的時候LINUX會去/bin,/us

Linux檢視系統版本(核心發行)、CPU資訊以及修改主機名

檢視cpu資訊        cat /proc/cpuinfo   檢視系統與核心相關資訊        Uname [選項]  &nbs

SUSE Linux儲存狀態資訊的viminfovimrc詳解

最近公司在審計所有產品和方案的安全規格,比如:作業系統的日誌中禁止包含密碼明文或password之類的。幾乎將系統安全武裝到牙齒了,今天就遇到一個問題:測試發現SUSE Linux作業系統的/root/.viminfo檔案中包含了password字樣,和同事確認後瞭解到:原來.viminfo檔案存放