1. 程式人生 > >Linux 的 Kill -9命令

Linux 的 Kill -9命令

大家對kill -9 肯定非常熟悉,在工作中也經常用到。特別是你去重啟tomcat時。


可是多半看來,我們對-9的理解只是表面而已。

很少有人(包括我)認真的去了解一下 kill -n 這個n到底是什麼東東。自我批評一下。

好吧。我們來好好的認識一下這個熟悉的陌生人。

1)kill

在shell下面打kill可以看到kill的語法:

  1. [[email protected] opt]# kill  
  2. kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]  
來個中文版的:

從help中可以清晰的看到 -n 指的是 訊號編號,那問題來了,“訊號編號”是哪位大神???

2)kill -l(檢視Linux/Unix的訊號變數)

這麼多呀!! 今天就單獨說一下SIGKILLSIGTERM

3)(kill pid) 、( kill -15 pid)

系統會發送一個SIGTERM的訊號給對應的程式。當程式接收到該signal後,將會發生以下的事情

  1. 程式立刻停止
  2. 當程式釋放相應資源後再停止
  3. 程式可能仍然繼續執行

      大部分程式接收到SIGTERM訊號後,會先釋放自己的資源,然後在停止。但是也有程式可以在接受到訊號量後,做一些其他的事情,並且這些事情是可以

      配置的。如果程式正在等待IO,可能就不會立馬做出相應。

  也就是說,SIGTERM多半是會被阻塞的、忽略。

4)kill  -9 pid

你不是可以不響應 SIGTERM嗎??那好,我給你下一道必殺令,我看你還不乖乖的。多半admin會用這個命令,用來強制儘快終止一個程序。

不過,也不是所有的程式都會乖乖聽話,總有那些狀態下的程式無法立刻相應。

附錄:

linux signals

Signal Name Number Description
SIGHUP 1 Hangup (POSIX)
SIGINT 2 Terminal interrupt (ANSI)
SIGQUIT 3 Terminal quit (POSIX)
SIGILL 4 Illegal instruction (ANSI)
SIGTRAP 5 Trace trap (POSIX)
SIGIOT 6 IOT Trap (4.2 BSD)
SIGBUS 7 BUS error (4.2 BSD)
SIGFPE 8 Floating point exception (ANSI)
SIGKILL 9 Kill(can't be caught or ignored) (POSIX)
SIGUSR1 10 User defined signal 1 (POSIX)
SIGSEGV 11 Invalid memory segment access (ANSI)
SIGUSR2 12 User defined signal 2 (POSIX)
SIGPIPE 13 Write on a pipe with no reader, Broken pipe (POSIX)
SIGALRM 14 Alarm clock (POSIX)
SIGTERM 15 Termination (ANSI)
SIGSTKFLT 16 Stack fault
SIGCHLD 17 Child process has stopped or exited, changed (POSIX)
SIGCONT 18 Continue executing, if stopped (POSIX)
SIGSTOP 19 Stop executing(can't be caught or ignored) (POSIX)
SIGTSTP 20 Terminal stop signal (POSIX)
SIGTTIN 21 Background process trying to read, from TTY (POSIX)
SIGTTOU 22 Background process trying to write, to TTY (POSIX)
SIGURG 23 Urgent condition on socket (4.2 BSD)
SIGXCPU 24 CPU limit exceeded (4.2 BSD)
SIGXFSZ 25 File size limit exceeded (4.2 BSD)
SIGVTALRM 26 Virtual alarm clock (4.2 BSD)
SIGPROF 27 Profiling alarm clock (4.2 BSD)
SIGWINCH 28 Window size change (4.3 BSD, Sun)
SIGIO 29 I/O now possible (4.2 BSD)
SIGPWR 30 Power failure restart (System V)

相關推薦

Linux Kill -9命令

本人在Linux下面想殺掉一個程序的時候通常會用kill -9,但說實在的,到底為什麼用kill -9自己也說不出個所以然來,今天正好想到這個問題就網上查了一下。 首先說說kill命令,kill命令是

LinuxKill -9命令

大家對kill -9 肯定非常熟悉,在工作中也經常用到。特別是你去重啟tomcat時。 可是多半看來,我們對-9的理解只是表面而已。 很少有人(包括我)認真的去了解一下 kill -n 這個n到底是什麼東東。自我批評一下。 好吧。我們來好好的認識一下這個熟悉的陌

linux kill -9 殺不掉的程序

kill -9 傳送SIGKILL訊號給程序,將其終止,但對於以下兩種情況不適用 1.該程序是殭屍程序(STAT z),此時程序已經釋放所有的資源,但是沒有被父程序釋放。殭屍程序要等到父程序結束,或者重啟系統才可以被釋放。 2.程序處於“核心態”,並且在等待不可獲得的資源,

04.linux命令-kill pid和kill -9 pid

今天學習到關於程序的一些東西,然後百度了下kill。以前我們在測試時也會用到kill的命令去殺程序,有的時候會用kill -9,但從沒想過這兩者的區別。今天算是明白了一點吧,以後如果有什麼領悟,會再做補充。 1)kill [[email protected] opt]# kil

linux命令killkill -9的區別

轉載自https://www.cnblogs.com/liuhouhou/p/5400540.html大家對kill -9 肯定非常熟悉,在工作中也經常用到。特別是你去重啟tomcat時。可是多半看來,我們對-9的理解只是表面而已。很少有人(包括我)認真的去了解一下 kill

Linux CPU 100%, kill -9 殺不掉進程

重啟 class proc lin 分享 查看 style inux AS 1: top 查看 >top -c 此時 我們使用kill -9 15003, 殺掉這個進程短暫的CPU降低幾秒, 然後死灰復燃了, 又一個進程占了CPU 99% 2: 查看1500

Linux9天bash基礎命令

mail -s pre filename 郵件 fir ace exp app con Linux 第9天 時間:20180725 批量修改文件名 rename [option] expression file... rename '.txt' '

linuxkill -9 不能強制殺掉spark-submit程序

問題: 在python編輯器中執行spark程式時,忘記加spark.stop()停止spark,所以每提交一次程式就多一個spark-submit程序,而且sparkUI的埠號還被佔用了。這時候用 kill -9 spark-submit_pid 無法殺死spark-submit程序

linux kill 命令 以及 USR1 訊號 解釋

    USR1亦通常被用來告知應用程式過載配置檔案;例如,向Apache HTTP伺服器傳送一個USR1訊號將導致以下步驟的發生:停止接受新的連線,等待當前連線停止,重新載入配置檔案,重新開啟日誌檔案,重啟伺服器,從而實現相對平滑的不關機的更改。 kill -HUP

Linux9)RedHat7 基本命令八-init命令詳解

導言 很久沒寫linux博文了,最近的一次是第八篇文章,教了shutdown命令,本次教init命令。 init命令是Linux下的程序初始化工具,init程序是所有Linux程序的父程序,它的程序

linux系統tomcat應為被定時任務指令碼監控自動部署,伺服器重啟導致同一個tomcat出現很多程序,kill -9殺死又出現等一系列問題解決。

linux系統tomcat應為被定時任務指令碼監控自動部署,伺服器重啟導致同一個tomcat出現很多程序,kill -9殺死又出現等一系列問題解決。 #ps -ef|grep tomcat檢視tom

linuxkill -9 pid 強制不能殺掉程序

Question linux下kill -9 pid 強制不能殺掉某個程序原因 Answer 解決辦法: 貌似沒用好的解決辦法, 重啟電腦reboot一下吧. Reference 今天安裝叢集的時候,發現一個程序一直存在,kill -9 pid

Linux殺死程序命令:kill、killall、pkill

kill命令:      1.格式:kill [訊號] 程序id      2..檢視經常訊號:kill -l      3.常用命令:        

linuxkill -9 pid 強制不能殺掉程序原因

今天安裝叢集的時候,發現一個程序一直存在,kill -9 pid  也幹不掉,就找找原因了。 kill -9傳送SIGKILL訊號將其終止,但是以下兩種情況不起作用:a、該程序處於"Zombie"狀態(使用ps命令返回defunct的程序)。此時程序已經釋放所有資源,但還未得到其父程序的確認。"zombie"

linux kill命令引數及用法詳解--linux終止程序命令

Linux kill 命令使用詳解 功能說明:刪除執行中的程式或工作。 語  法:kill [-s <資訊名稱或編號>][程式] 或 kill [-l <資訊編號>] 補充說明:kill可將指定的資訊送至程式。預設的資訊為SIGTERM(15),可

Linux用ps命令查詢程序PID再用kill命令終止程序的方法

使用linux作業系統,難免遇到一些軟體"卡殼"的問題,這時就需要使用linux下強大的kill命令來結束相關程序。這在linux系統下是極其容易的事情,你只需要kill xxx即可,這裡xxx代表與此軟體執行相關的程序PID號。    首先,我們需要使用linux下另外一

Linux中檢視和殺死程序】-kill -9 無條件殺死

首先檢視程序: [[email protected] /]# ps -ef | grep tomcat root 1726 1 0 Apr10 ? 00:07:20 /usr/java/jdk1.6.0_22//bin/java

linux kill命令詳解

有時 前臺運行 lin min linux log 釋放 all 忽略 1.命令格式 kill [參數] [進程號] 2.命令功能: 發送指定的信號到相應進程。不指定型號將發送SIGTERM(15)終止指定進程。如果任無法終止該程序可用“-KILL” 參數,其發送的信號為S

Linux下常用命令之sed學習總結

linux sed sed命令 正則表達式 sed總結 Sed功能說明:Sed是linux下一個強大的文本文件處理工具,通過對文件增加、刪除、查找、查詢操作,配合正則表達式以實現工作中的各種需求。同時也是一名運維人員必須掌握的核心技能。---------------------------

Linux的常用命令

linux的常用命令 lofout 退出登錄 mount 查看系統當中已經掛載的設備 mount -a 依據配置文件/etc/fstab的內容,自動掛載 who 查看系統登錄了哪些用戶(能看到用戶名,登錄終端,登陸時間登錄IP) w 查看系統登錄了哪些用戶(跟who一樣,但是還能