你的系統(tǒng)運(yùn)行狀態(tài)很不正常,懷疑可能跟你的某個(gè)程序有關(guān),可能在不停啟動(dòng)進(jìn)程。當(dāng)前系統(tǒng)進(jìn)程有3萬(wàn)多,實(shí)在是太多了。
創(chuàng)新互聯(lián)主營(yíng)君山網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,app開發(fā)定制,君山h5成都微信小程序搭建,君山網(wǎng)站營(yíng)銷推廣歡迎君山等地區(qū)企業(yè)咨詢
我猜圖中兩個(gè)進(jìn)程cm_agent和om_monitor是你的主要應(yīng)用進(jìn)程。不知道它們是否會(huì)自動(dòng)拉起新的進(jìn)程,例如定時(shí)執(zhí)行shell腳本。有可能因?yàn)槟_本卡住了,導(dǎo)致進(jìn)程大量吊死。
你可以用ps -ef|grep “你要統(tǒng)計(jì)的進(jìn)程名”| wc -l 看下某個(gè)進(jìn)程的數(shù)量。然后找到是那個(gè)程序拉起的,殺掉那個(gè)進(jìn)程。如果被拉起的進(jìn)程不能自動(dòng)退出,則需要寫腳本批量殺掉那些進(jìn)程。
我遇到過(guò)因?yàn)榇疟P問(wèn)題導(dǎo)致某個(gè)文件系統(tǒng)異常,df命令卡殼,進(jìn)而導(dǎo)致系統(tǒng)積累大量腳本進(jìn)程不能退出。
需要進(jìn)一步幫助可以私信聯(lián)系。
使用shell腳本來(lái)執(zhí)行java入口類,在腳本中加jar包到classpath中,然后用java命令運(yùn)行入口類,就能啟動(dòng)程序了
你把PATH改成/usr/local/mysql/bin:$home/mysql,這樣命令肯定不能用了。
建議:改成PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:$home/mysql
這樣不就行了
由于這樣那樣的原因,Ubuntu 這個(gè)桌面總是面臨著卡住的風(fēng)險(xiǎn)。為了有限應(yīng)對(duì)它卡著不動(dòng),我做了一些防范工作。
卡死
如果你發(fā)現(xiàn) Ubuntu 卡住了,一個(gè)通過(guò)Alt+Ctrl+F/d( /d 的取值為1到6)來(lái)切換到命令界面,輸入自己的用戶名而后輸入密碼,登錄。
鍵入如下命令
sudo kill -9 `ps -ef | grep tty7 | awk 'NR==1 {print $2}'`
這樣,你的電腦就會(huì)恢復(fù)了,什么你說(shuō)它注銷了。又要登錄一遍。當(dāng)然這條命令就是做一件事情的。
捷徑
這個(gè)世界上,有的人就是多敲一下鍵盤多覺(jué)得累,所以下載這個(gè)文件吧!
然后放到 /usr/bin/ 目錄下,之后給個(gè)運(yùn)行的權(quán)限。以后就可以直接命令行解決了。
示例:
sudo cp ./Shell_restartDesktop /usr/bin/fuckTTY
sudo chmod a+x /usr/bin/fuckTTY
這樣,以后崩了直接輸入fuckTTY就可以了。
講解
以下命令解讀,看看就好,別當(dāng)真:
kill -9 : 殺無(wú)赦(后面緊跟著進(jìn)程號(hào),誰(shuí)被喊道誰(shuí)倒霉)
ps -ef : 派出所(列出所有真在運(yùn)行中的進(jìn)程的詳細(xì)信息)
grep tty7 : 躲貓貓(查找 tty7 的信息)
tty7 : 這貨就是你的圖形界面納!
awk : 遠(yuǎn)古文字處理神器,不解釋!
| : 用過(guò)都說(shuō)好的管道,不是超級(jí)馬里奧!
“ :你想在命令行里運(yùn)行命令,用它就不會(huì)有錯(cuò)的!
方法/步驟
1
Linux作為Unix的衍生操作系統(tǒng),Linux內(nèi)建有查看當(dāng)前進(jìn)程的工具ps。這個(gè)工具能在命令行中使用PS 命令是什么
查看它的man手冊(cè)可以看到,ps命令能夠給出當(dāng)前系統(tǒng)中進(jìn)程的快照。它能捕獲系統(tǒng)在某一事件的進(jìn)程狀態(tài)。如果你想不斷更新查看的這個(gè)狀態(tài),可以使用top命令。
ps命令支持三種使用的語(yǔ)法格式
UNIX 風(fēng)格,選項(xiàng)可以組合在一起,并且選項(xiàng)前必須有“-”連字符 BSD 風(fēng)格,選項(xiàng)可以組合在一起,但是選項(xiàng)前不能有“-”連字符 GNU 風(fēng)格的長(zhǎng)選項(xiàng),選項(xiàng)前有兩個(gè)“-”連字符
我們能夠混用這幾種風(fēng)格,但是可能會(huì)發(fā)生沖突。本文使用 UNIX 風(fēng)格的ps命令。這里有在日常生活中使用較多的ps命令的例子。1. 不加參數(shù)執(zhí)行ps命令
這是一個(gè)基本的 ps 使用。在控制臺(tái)中執(zhí)行這個(gè)命令并查看結(jié)果。
2
結(jié)果默認(rèn)會(huì)顯示4列信息。
PID: 運(yùn)行著的命令(CMD)的進(jìn)程編號(hào) TTY: 命令所運(yùn)行的位置(終端) TIME: 運(yùn)行著的該命令所占用的CPU處理時(shí)間 CMD: 該進(jìn)程所運(yùn)行的命令
這些信息在顯示時(shí)未排序。2. 顯示所有當(dāng)前進(jìn)程
使用 -a 參數(shù)。-a 代表 all。同時(shí)加上x參數(shù)會(huì)顯示沒(méi)有控制終端的進(jìn)程。
$ ps -ax
這個(gè)命令的結(jié)果或許會(huì)很長(zhǎng)。為了便于查看,可以結(jié)合less命令和管道來(lái)使用。
$ ps -ax | less
3
3. 根據(jù)用戶過(guò)濾進(jìn)程
在需要查看特定用戶進(jìn)程的情況下,我們可以使用 -u 參數(shù)。比如我們要查看用戶'pungki'的進(jìn)程,可以通過(guò)下面的命令:
$ ps -u pungki
4
4. 通過(guò)cpu和內(nèi)存使用來(lái)過(guò)濾進(jìn)程
也許你希望把結(jié)果按照 CPU 或者內(nèi)存用量來(lái)篩選,這樣你就找到哪個(gè)進(jìn)程占用了你的資源。要做到這一點(diǎn),我們可以使用 aux 參數(shù),來(lái)顯示全面的信息:
$ ps -aux | less
5
當(dāng)結(jié)果很長(zhǎng)時(shí),我們可以使用管道和less命令來(lái)篩選。
默認(rèn)的結(jié)果集是未排好序的。可以通過(guò) --sort命令來(lái)排序。
根據(jù) CPU 使用來(lái)升序排序
$ ps -aux --sort -pcpu | less
6
根據(jù) 內(nèi)存使用 來(lái)升序排序
$ ps -aux --sort -pmem | less
7
我們也可以將它們合并到一個(gè)命令,并通過(guò)管道顯示前10個(gè)結(jié)果:
$ ps -aux --sort -pcpu,+pmem | head -n 10
5. 通過(guò)進(jìn)程名和PID過(guò)濾
使用 -C 參數(shù),后面跟你要找的進(jìn)程的名字。比如想顯示一個(gè)名為getty的進(jìn)程的信息,就可以使用下面的命令:
$ ps -C getty
如果想要看到更多的細(xì)節(jié),我們可以使用-f參數(shù)來(lái)查看格式化的信息列表:
$ ps -f -C getty
6. 根據(jù)線程來(lái)過(guò)濾進(jìn)程
如果我們想知道特定進(jìn)程的線程,可以使用-L 參數(shù),后面加上特定的PID。
$ ps -L 1213
7. 樹形顯示進(jìn)程
有時(shí)候我們希望以樹形結(jié)構(gòu)顯示進(jìn)程,可以使用 -axjf 參數(shù)。
$ps -axjf
或者可以使用另一個(gè)命令。
$ pstree
8. 顯示安全信息
如果想要查看現(xiàn)在有誰(shuí)登入了你的服務(wù)器。可以使用ps命令加上相關(guān)參數(shù):
$ ps -eo pid,user,args
參數(shù) -e 顯示所有進(jìn)程信息,-o 參數(shù)控制輸出。Pid,User 和 Args參數(shù)顯示PID,運(yùn)行應(yīng)用的用戶和該應(yīng)用。
能夠與-e 參數(shù) 一起使用的關(guān)鍵字是args, cmd, comm, command, fname, ucmd, ucomm, lstart, bsdstart 和 start。9. 格式化輸出root用戶(真實(shí)的或有效的UID)創(chuàng)建的進(jìn)程
系統(tǒng)管理員想要查看由root用戶運(yùn)行的進(jìn)程和這個(gè)進(jìn)程的其他相關(guān)信息時(shí),可以通過(guò)下面的命令:
$ ps -U root -u root u
-U 參數(shù)按真實(shí)用戶ID(RUID)篩選進(jìn)程,它會(huì)從用戶列表中選擇真實(shí)用戶名或 ID。真實(shí)用戶即實(shí)際創(chuàng)建該進(jìn)程的用戶。
-u 參數(shù)用來(lái)篩選有效用戶ID(EUID)。
最后的u參數(shù)用來(lái)決定以針對(duì)用戶的格式輸出,由User, PID, %CPU, %MEM, VSZ, RSS, TTY, STAT, START, TIME 和 COMMAND這幾列組成。
這里有上面的命令的輸出結(jié)果:
10. 使用PS實(shí)時(shí)監(jiān)控進(jìn)程狀態(tài)
ps 命令會(huì)顯示你系統(tǒng)當(dāng)前的進(jìn)程狀態(tài),但是這個(gè)結(jié)果是靜態(tài)的。
當(dāng)有一種情況,我們需要像上面第四點(diǎn)中提到的通過(guò)CPU和內(nèi)存的使用率來(lái)篩選進(jìn)程,并且我們希望結(jié)果能夠每秒刷新一次。為此,我們可以將ps命令和watch命令結(jié)合起來(lái)。
$ watch -n 1 ‘ps -aux --sort -pmem, -pcpu’
如果輸出太長(zhǎng),我們也可以限制它,比如前20條,我們可以使用head命令來(lái)做到。
$ watch -n 1 ‘ps -aux --sort -pmem, -pcpu | head 20’
這里的動(dòng)態(tài)查看并不像top或者h(yuǎn)top命令一樣。但是使用ps的好處是你能夠定義顯示的字段,你能夠選擇你想查看的字段。
舉個(gè)例子,如果你只需要看名為'pungki'用戶的信息,你可以使用下面的命令:
$ watch -n 1 ‘ps -aux -U pungki u --sort -pmem, -pcpu | head 20’
結(jié)論
你也許每天都會(huì)使用ps命令來(lái)監(jiān)控你的Linux系統(tǒng)。但是事實(shí)上,你可以通過(guò)ps命令的參數(shù)來(lái)生成各種你需要的報(bào)表。
ps命令的另一個(gè)優(yōu)勢(shì)是ps是各種 Linux系統(tǒng)都默認(rèn)安裝的,因此你只要用就行了。
不要忘了通過(guò) man ps來(lái)查看更多的參數(shù)。(LCTT 譯注:由于 ps 命令古老而重要,所以它在不同的 UNIX、BSD、Linux 等系統(tǒng)中的參數(shù)不盡相同,因此如果你用的不是 Linux 系統(tǒng),請(qǐng)查閱你的文檔了解具體可用的參數(shù)。)
當(dāng)前名稱:linuxps命令卡住 linux執(zhí)行命令卡住
當(dāng)前URL:http://www.chinadenli.net/article22/doocccc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、關(guān)鍵詞優(yōu)化、做網(wǎng)站、App開發(fā)、微信公眾號(hào)、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容