Linux盡管使用頻繁,仍然每次都還是需要到處去找相關(guān)的命令,如進(jìn)程,日志之類的,既然這樣不妨自己紀(jì)錄下便于下次使用
一、查看進(jìn)程
一、ps(Process Status)
首先我們要了解 Linux中查看進(jìn)程信息的基本命令 ps、top,其中ps(Process Status)查看的是進(jìn)程信息的一個(gè)快照,顯示的我們執(zhí)行ps這個(gè)命令時(shí)進(jìn)程的信息,top顯示的是進(jìn)程的動(dòng)態(tài)信息,使用這個(gè)命令會(huì)看到進(jìn)程信息的動(dòng)態(tài)變化。
二、ps -ef|grep
ps -ef|grep *** 查看某個(gè)進(jìn)程
很多時(shí)候我們?cè)趌inux 中運(yùn)行玩一個(gè)應(yīng)用是需要知道他是否成功
比如我們 進(jìn)入tomcat > bin 目錄下
執(zhí)行./startup.sh啟動(dòng)tomcat
[root@localhost bin]# ./startup.sh
然后想要查看當(dāng)前的tomcat 進(jìn)程是否啟動(dòng), 你們就需要ps了
[root@localhost bin]# ps -ef|grep tomcat
運(yùn)行如:

三、 ps -l
ps -l 列出與 本次登錄系統(tǒng) 有關(guān)的進(jìn)程信息
ps ( ps -l, 列出的是詳細(xì)信息 )
運(yùn)行如:

其他相關(guān)參數(shù):
F 代表這個(gè)程序的旗標(biāo) (flag), 4 代表使用者為 superuser;
S代表這個(gè)程序的狀態(tài) (STAT);
( 常見的進(jìn)程的 STAT 如下:
R 運(yùn)行 Runnable (on run queue) 正在運(yùn)行或在運(yùn)行隊(duì)列中等待,
S 睡眠 Sleeping 休眠中, 受阻, 在等待某個(gè)條件的形成或接受到信號(hào),
I 空閑 Idle ,
Z 僵死 Zombie(a defunct process) 進(jìn)程已終止, 但進(jìn)程描述符存在, 直到父進(jìn)程調(diào)用wait4()系統(tǒng)調(diào)用后釋放,
D 不可中斷 Uninterruptible sleep (ususally IO) 收到信號(hào)不喚醒和不可運(yùn)行, 進(jìn)程必須等待直到有中斷發(fā)生,
T 終止 Terminate 進(jìn)程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號(hào)后停止運(yùn)行運(yùn)行,
P 等待交換頁 ,
W無駐留頁 has no resident pages 沒有足夠的記憶體分頁可分配,
X 死掉的進(jìn)程 ,
<高優(yōu)先級(jí)進(jìn)程 高優(yōu)先序的進(jìn)程 ,
N 低優(yōu)先 級(jí)進(jìn)程 低優(yōu)先序的進(jìn)程 ,
L 內(nèi)存鎖頁 Lock 有記憶體分頁分配并縮在記憶體內(nèi) ,
s進(jìn)程的領(lǐng)導(dǎo)者(在它之下有子進(jìn)程),
l 多進(jìn)程的(使用 CLONE_THREAD, 類似 NPTL pthreads)
四、ps -aux
1、ps -aux 列出在內(nèi)存中運(yùn)行的 全部進(jìn)程信息
運(yùn)行如:
2、 ps -aux | grep *** 列出 某個(gè) 進(jìn)程的詳細(xì)信息
運(yùn)行如:

其中每一項(xiàng)參數(shù)對(duì)應(yīng)的實(shí)際意義
如:
[root@localhost logs]# ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 194128 7272 ? Ss Jun24 0:43 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
USER:進(jìn)程的所屬用戶,
PID :進(jìn)程的進(jìn)程ID號(hào),
%CPU :進(jìn)程占用的 CPU資源 百分比,
%MEM :進(jìn)程占用的 物理內(nèi)存 百分比,
VSZ :進(jìn)程使用掉的虛擬內(nèi)存量 (Kbytes) ,
RSS :進(jìn)程占用的固定的內(nèi)存量 (Kbytes) ,
TTY :與進(jìn)程相關(guān)聯(lián)的終端(tty),?代表無關(guān),tty1-tty6是本機(jī)上面的登入者程序,pts/0表示為由網(wǎng)絡(luò)連接進(jìn)主機(jī)的程序。
STAT :進(jìn)程的狀態(tài),具體見2.1列出來的部分 ,
START :進(jìn)程開始創(chuàng)建的時(shí)間 ,
TIME :進(jìn)程使用的總cpu時(shí)間,
COMMAND: 進(jìn)程對(duì)應(yīng)的實(shí)際程序。
五、 ps to
ps top動(dòng)態(tài)顯示內(nèi)存中的進(jìn)程信息(top)
運(yùn)行如:
六、 kill -9 pid
kill -9 pid 殺死進(jìn)程
其他相關(guān)操作
其中pid 對(duì)應(yīng)的是每個(gè)進(jìn)程的編號(hào)
比如查看tomcat 對(duì)應(yīng)進(jìn)程號(hào)
可以通過[root@localhost logs]# ps -aux|grep tomcat或者 [root@localhost logs]# ps -ef|grep tomcat進(jìn)行進(jìn)程查詢
運(yùn)行如:

如果想強(qiáng)行關(guān)閉
root 6722 43589 0 19:22 pts/1 00:00:00 grep --color=auto tomcat 就可以執(zhí)行kill -9 6722 來強(qiáng)行殺掉改進(jìn)程注: 有些進(jìn)程是不允許停止的,因?yàn)橥V箷?huì)造成系統(tǒng)的不穩(wěn)定,甚至崩潰。
二、查看日志
一、tail -f catalina.out
很多時(shí)候需要知道一個(gè)程序運(yùn)行后的一下信息,如tomcat 后的項(xiàng)目接口調(diào)用情況
-
進(jìn)入
tomcat > bin目錄下
執(zhí)行./startup.sh啟動(dòng)tomcat運(yùn)行如:
test 查看
tomcat啟動(dòng)日志
1、先切換到:cd 當(dāng)前的tomcat目錄/logs
2、tail -f catalina.out 或者指定查多少行:tail -200 catalina.out
[root@localhost apache-tomcat-9.0.31]# cd logs
[root@localhost logs]# tail -f catalina.out
運(yùn)行如:
[root@localhost logs]# tail -f -n 200 catalina.out
運(yùn)行如:
比如每次的tomcat 關(guān)閉也可以清楚看到:
二、tail 參數(shù)
查看看日志參數(shù):
-f循環(huán)讀取
-q不顯示處理信息
-v顯示詳細(xì)的處理信息
-c<數(shù)目> 顯示的字節(jié)數(shù)
-n<行數(shù)> 顯示行數(shù)
--pid=PID 與-f合用,表示在進(jìn)程ID,PID死掉之后結(jié)束.
-q, --quiet, --silent從不輸出給出文件名的首部
-s, --sleep-interval=S 與 -f 合用,表示在每次反復(fù)的間隔休眠S秒
三、關(guān)鍵詞高亮顯示
tail -n 200 -f dpe_partner_all.log | perl -pe 's/(關(guān)鍵詞)/\e[1;31m$1\e[0m/g'
例如高亮顯示ERROR
tail -n 200 -f dpe_partner_all.log | perl -pe 's/(ERROR)/\e[1;31m$1\e[0m/g'
先看看我們目前有哪些日志文件了
假如我要查看catalina.out 文件,同時(shí)高亮顯示 java.lang.IllegalArgumentException,那么就可以這樣:
tail -n 200 -f catalina.out| perl -pe 's/(java.lang.IllegalArgumentException)/\e[1;31m$1\e[0m/g'
運(yùn)行如:
好了個(gè)人基本 操作紀(jì)錄完畢,下次再會(huì)哈哈^_^
