Linux 的 Kill -9命令
大家對kill -9 肯定非常熟悉,在工作中也經常用到。特別是你去重啟tomcat時。
可是多半看來,我們對-9的理解只是表面而已。
很少有人(包括我)認真的去了解一下 kill -n 這個n到底是什麼東東。自我批評一下。
好吧。我們來好好的認識一下這個熟悉的陌生人。
1)kill
在shell下面打kill可以看到kill的語法:
- [[email protected] opt]# kill
-
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
從help中可以清晰的看到 -n 指的是 訊號編號,那問題來了,“訊號編號”是哪位大神???
2)kill -l(檢視Linux/Unix的訊號變數)
這麼多呀!! 今天就單獨說一下SIGKILL和SIGTERM
3)(kill pid) 、( kill -15 pid)
系統會發送一個SIGTERM的訊號給對應的程式。當程式接收到該signal後,將會發生以下的事情
- 程式立刻停止
- 當程式釋放相應資源後再停止
- 程式可能仍然繼續執行
大部分程式接收到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命令是
Linux 的 Kill -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命令kill和kill -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
Linux 第9天bash基礎命令
mail -s pre filename 郵件 fir ace exp app con Linux 第9天 時間:20180725 批量修改文件名 rename [option] expression file... rename '.txt' '
linux下kill -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
Linux(9)RedHat7 基本命令八-init命令詳解
導言 很久沒寫linux博文了,最近的一次是第八篇文章,教了shutdown命令,本次教init命令。 init命令是Linux下的程序初始化工具,init程序是所有Linux程序的父程序,它的程序
linux系統tomcat應為被定時任務指令碼監控自動部署,伺服器重啟導致同一個tomcat出現很多程序,kill -9殺死又出現等一系列問題解決。
linux系統tomcat應為被定時任務指令碼監控自動部署,伺服器重啟導致同一個tomcat出現很多程序,kill -9殺死又出現等一系列問題解決。 #ps -ef|grep tomcat檢視tom
linux下kill -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.常用命令:
linux下kill -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一樣,但是還能