1、首先,連接相應(yīng)linux主機(jī),進(jìn)入到linux命令行狀態(tài)下,等待輸入shell指令。
成都創(chuàng)新互聯(lián)公司擁有十余年成都網(wǎng)站建設(shè)工作經(jīng)驗(yàn),為各大企業(yè)提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作服務(wù),對(duì)于網(wǎng)頁設(shè)計(jì)、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、app開發(fā)定制、wap網(wǎng)站建設(shè)(手機(jī)版網(wǎng)站建設(shè))、程序開發(fā)、網(wǎng)站優(yōu)化(SEO優(yōu)化)、微網(wǎng)站、申請(qǐng)域名等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們?cè)诨ヂ?lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了很多網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、網(wǎng)絡(luò)營(yíng)銷經(jīng)驗(yàn),集策劃、開發(fā)、設(shè)計(jì)、營(yíng)銷、管理等網(wǎng)站化運(yùn)作于一體,具備承接各種規(guī)模類型的網(wǎng)站建設(shè)項(xiàng)目的能力。
2、其次,以終止進(jìn)程號(hào)1984的nginx子進(jìn)程為例,在linux命令行中輸入:kill -9 1984。
3、最后,按下回車鍵執(zhí)行shell指令,此時(shí)會(huì)看到進(jìn)程號(hào)1984的nginx子進(jìn)程被成功終止了。
方法一:
$ps -ef | grep firefox | grep -v grep | cut -c 9-15 | xargs kill -s 9
說明:
“grep firefox”的輸出結(jié)果是,所有含有關(guān)鍵字“firefox”的進(jìn)程。
“grep -v grep”是在列出的進(jìn)程中去除含有關(guān)鍵字“grep”的進(jìn)程。
“cut -c 9-15”是截取輸入行的第9個(gè)字符到第15個(gè)字符,而這正好是進(jìn)程號(hào)PID。
“xargs kill -s 9”中的xargs命令是用來把前面命令的輸出結(jié)果(PID)作為“kill -s 9”命令的參數(shù),并執(zhí)行該命令?!発ill -s 9”會(huì)強(qiáng)行殺掉指定進(jìn)程。
難道你不想抱怨點(diǎn)什么?沒錯(cuò)太長(zhǎng)了
方法二:
pgrep和pidof兩個(gè)命令一串!
$ pgrep firefox | xargs kill -s 9
方法三:
難道每次都要調(diào)用xargs把PID傳遞給kill?答案是否定的:
$kill -s 9 `ps -aux | grep firefox | awk '{print $2}'`
方法四:
沒錯(cuò),命令依然有點(diǎn)長(zhǎng),換成pgrep。
$kill -s 9 `pgrep firefox`
方法五——pkill:
$pkill -9 firefox
說明:"-9" 即發(fā)送的信號(hào)是9,pkill與kill在這點(diǎn)的差別是:pkill無須 “s”,終止信號(hào)等級(jí)直接跟在 “-“ 后面。之前我一直以為是 "-s 9",結(jié)果每次運(yùn)行都無法終止進(jìn)程。
方法六——killall :
killall和pkill是相似的,不過如果給出的進(jìn)程名不完整,killall會(huì)報(bào)錯(cuò)。pkill或者pgrep只要給出進(jìn)程名的一部分就可以終止進(jìn)程。
$killall -9 firefox
kill -9 PID —— 強(qiáng)制殺死一個(gè)進(jìn)程。
1、kill -9 殺死后臺(tái)運(yùn)行的進(jìn)程。
紅色下劃線:sleep 10000 —— 后臺(tái)運(yùn)行延時(shí) 10000 秒的命令,進(jìn)程 ID 為1317。
黃色下劃線:ps —— 列出 1317 sleep 命令的進(jìn)程。
(PID:進(jìn)程 ID、PGID:線程組 ID、SID:會(huì)話 ID、TTY:進(jìn)程運(yùn)行的終端,標(biāo)識(shí)那個(gè)終端控制。(pts遠(yuǎn)程終端、tty系統(tǒng)終端)、TIME:進(jìn)程運(yùn)行的時(shí)間 和 CMD:命令的名稱和參數(shù))。
jobs -l —— 列出后臺(tái)運(yùn)行的命令,1317 sleep 命令正在后臺(tái)運(yùn)行。
藍(lán)色下劃線:kill -9 1317—— 殺死?1317 進(jìn)程。
綠色方框:ps 查詢進(jìn)程,1317 sleep進(jìn)程已經(jīng)被殺死(Killed)。jobs -l 已經(jīng)沒有后臺(tái)運(yùn)行的1317 sleep 命令。
2、kill -9 終止掛起的進(jìn)程。
紅色下劃線:執(zhí)行 sleep 10000 后 ctrl + z 掛起。
黃色下劃線:ps -j 查看進(jìn)程,有 1342 sleep 的進(jìn)程。jobs -l 查看后臺(tái),1342 sleep 的狀態(tài)是 stopped 暫停狀態(tài)。
藍(lán)色下劃線:kill -9 殺死 1342 進(jìn)程。此時(shí)系統(tǒng)沒有反饋信息。
綠色下劃線:ps -j 查看進(jìn)程,1342 sleep 已經(jīng)被殺死(Killed)。jobs -l 查看后臺(tái),已經(jīng)沒有了? 1342?sleep。
從實(shí)驗(yàn)上看:
1、后臺(tái)命令運(yùn)行時(shí)(Running),執(zhí)行 kill -9 可以強(qiáng)殺進(jìn)程。
2、掛起命令,處于暫停狀態(tài)時(shí)(Stopped),執(zhí)行 kill -9 后通過 ps 查詢進(jìn)程, 可以看到進(jìn)程已經(jīng)被殺死。jobs 也查不到有后臺(tái)命令。(這里和 kill -2、kill -15 不一樣。kill -2、kill -15 在掛起命令,處于暫停狀態(tài)時(shí)(Stopped)時(shí)執(zhí)行,通過 ps 還可以查詢到進(jìn)程,jobs 也可以查詢到后臺(tái)仍有處于暫停狀態(tài)的命令。)