久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Linux kill, killall, kill

 XeonGate 2015-08-14

1) 查看進(jìn)程的方法: 

ps -ef  或者 ps aux

root     15087  0.0  0.0      0     0 ?        S    23:31   0:00 [kworker/1:1]
root     15219  0.0  0.0      0     0 ?        S    23:36   0:00 [kworker/1:0]
root     15460  0.0  0.0      0     0 ?        S    23:41   0:00 [kworker/1:2]
homer    15572 23.0  5.8 791472 119788 ?       Sl   23:45   0:03 /usr/lib/firefox/firefox
homer    15590  0.1  0.1 273796  3132 ?        Sl   23:45   0:00 /usr/lib/at-spi2-core/at-spi-bus-launcher
homer    15620  0.0  0.0  22360  1268 pts/0    R+   23:45   0:00 ps aux


2) kill -9

kill  -s  9  15572

其中,,-s 9 制定了傳遞給進(jìn)程的信號是9,即強(qiáng)制,、盡快終止進(jìn)程,。 15572則是上面ps查到的火狐(firefox)的PID。

簡單吧,,但有個問題,,進(jìn)程少時(shí)ps還無所謂,進(jìn)程多了,,就會覺得痛苦了,,無論是ps -ef 還是ps -aux,每次都要在一大串進(jìn)程信息里面查找到要?dú)⒌倪M(jìn)程PID,,看的眼都花了。

用法詳解:

kill -9,, 這個強(qiáng)大和危險(xiǎn)的命令迫使進(jìn)程在運(yùn)行時(shí)突然終止,,進(jìn)程在結(jié)束后不能自我清理。危害是導(dǎo)致系統(tǒng)資源無法正常釋放,一般不推薦使用,,除非其他辦法都無效,。 
當(dāng)使用此命令時(shí),一定要通過ps -ef確認(rèn)沒有剩下任何僵尸進(jìn)程,。只能通過終止父進(jìn)程來消除僵尸進(jìn)程,。如果僵尸進(jìn)程被init收養(yǎng),問題就比較嚴(yán)重了,。殺死init進(jìn)程意味著關(guān)閉系統(tǒng),。 
如果系統(tǒng)中有僵尸進(jìn)程,并且其父進(jìn)程是init,,而且僵尸進(jìn)程占用了大量的系統(tǒng)資源,,那么就需要在某個時(shí)候重啟機(jī)器以清除進(jìn)程表了。 


2.1) 改進(jìn) 1 —— grep

把ps的查詢結(jié)果通過管道傳給grep,,查找包含特定字符串的進(jìn)程,。管道符“|”用來隔開兩個命令,管道符左邊命令的輸出會作為管道符右邊命令的輸入,。

例如: homer@ubuntu:~$ ps -aux | grep firefox

homer    15572  1.7  5.0 808644 103260 ?       Sl   23:45   0:07 /usr/lib/firefox/firefox
homer    15735  0.0  0.0  13584   920 pts/0    S+   23:52   0:00 grep --color=auto firefox

直接找到firefox進(jìn)程PID,, 輸入: kill  -s  9  15572


2.2) 改進(jìn) 2 —— pgrep

pgrep的p表明了這個命令是專門用于進(jìn)程查詢的grep

例如: homer@ubuntu:~$ pgrep firefox
15572


2.3) 改進(jìn) 3 —— pidof

pidof命令,表示 pid of xx,,字面翻譯過來就是 xx的PID

例如: homer@ubuntu:~$ pidof firefox
15572


2.4) 改進(jìn)4 —— grep + awk

grep firefox 列出firefox進(jìn)程信息,,并awk取第二個field,即PID

例如: homer@ubuntu:~$ ps -ef | grep firefox | grep -v grep | awk '{print $2}' 
15572


2.5) 改進(jìn) 5 —— kill + xargs

殺死進(jìn)程的方式有以下幾種:

a) ps -ef | grep firefox | grep -v grep | awk '{print $2}' | xargs kill -s 9

b) pgrep firefox | xargs kill -s 9

c) pidof firefox | xargs kill -s 9

d) kill -s 9 `ps -ef | grep firefox | grep -v grep | awk '{print $2}'`

e) kill -s 9 `pgrep firefox`

f) kill -s 9 `pidof firefox`


2.6) 改進(jìn) 6 —— pkill

pkill 類似于 pgrep,, pkill 表示 pgrep+kill

例如: pkill firefox


3) killall

killall命令,, 殺死同一進(jìn)程組內(nèi)的所有進(jìn)程,其允許指定要終止的進(jìn)程的名稱,,而非PID

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

homer@ubuntu:~$ killall firefo
firefo: no process found
homer@ubuntu:~$ killall firefox
homer@ubuntu:~$ killall -9 firefox


4) kill

殺死進(jìn)程最安全的方法是單純使用kill命令,,不加修飾符,不帶標(biāo)志,。
例如: # kill -pid  
注釋: 標(biāo)準(zhǔn)的kill命令,,默認(rèn)采用信號(signal)號是15,通常都能達(dá)到目的,,終止有問題的進(jìn)程,,并把進(jìn)程的資源釋放給系統(tǒng)。然而,,如果進(jìn)程啟動了子進(jìn)程,,只殺死父進(jìn)程,子進(jìn)程仍在運(yùn)行,因此仍消耗資源,。為了防止這些所謂的“僵尸進(jìn)程”,,應(yīng)確保在殺死父進(jìn)程之前,先殺死其所有的子進(jìn)程,。  


5) kill -l

例如: kill -l PID 

-l 選項(xiàng),, 告訴kill命令用好像啟動進(jìn)程的用戶已注銷的方式結(jié)束進(jìn)程。當(dāng)使用該選項(xiàng)時(shí),,kill命令也試圖殺死所留下的子進(jìn)程,。但這個命令也不是總能成功--或許仍然需要先手工殺死子進(jìn)程,然后再殺死父進(jìn)程,。 


6) kill -HUP

有時(shí)候只想簡單的停止和重啟進(jìn)程,。
例如: # kill -HUP PID 
該命令讓Linux和緩的執(zhí)行進(jìn)程關(guān)閉,然后立即重啟,。在配置應(yīng)用程序的時(shí)候,,這個命令很方便,在對配置文件修改后需要重啟進(jìn)程時(shí)就可以執(zhí)行此命令,。  


附錄:各種信號及其用途

Signal Description Signal number on Linux x86
SIGABRT Process aborted 6
SIGALRM Signal raised by alarm 14
SIGBUS Bus error: "access to undefined portion of memory object" 7
SIGCHLD Child process terminated, stopped (or continued*) 17
SIGCONT Continue if stopped 18
SIGFPE Floating point exception: "erroneous arithmetic operation" 8
SIGHUP Hangup 1
SIGILL Illegal instruction 4
SIGINT Interrupt 2
SIGKILL Kill (terminate immediately) 9
SIGPIPE Write to pipe with no one reading 13
SIGQUIT Quit and dump core 3
SIGSEGV Segmentation violation 11
SIGSTOP Stop executing temporarily 19
SIGTERM Termination (request to terminate) 15
SIGTSTP Terminal stop signal 20
SIGTTIN Background process attempting to read from tty ("in") 21
SIGTTOU Background process attempting to write to tty ("out") 22
SIGUSR1 User-defined 1 10
SIGUSR2 User-defined 2 12
SIGPOLL Pollable event 29
SIGPROF Profiling timer expired 27
SIGSYS Bad syscall 31
SIGTRAP Trace/breakpoint trap 5
SIGURG Urgent data available on socket 23
SIGVTALRM Signal raised by timer counting virtual time: "virtual timer expired" 26
SIGXCPU CPU time limit exceeded 24
SIGXFSZ File size limit exceeded 25


grep GlobalHandlerExceptionResolver . -nr --exclude-dir=".svn" --binary-files=without-match


參考推薦:

linux下殺死進(jìn)程(kill)的N種方法

Linux 殺死進(jìn)程方法大全(kill,killall)

linux殺掉進(jìn)程,fuser,、kill,、pkill命令的運(yùn)用

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多