Linux盡管使用頻繁,仍然每次都還是需要到處去找相關的命令,如進程,日志之類的,既然這樣不妨自己紀錄下便於下次使用
文章目錄
一、查看進程
一、ps(Process Status)
首先我們要了解 Linux中查看進程信息的基本命令 ps、top,其中ps(Process Status)查看的是進程信息的一個快照,顯示的我們執行ps這個命令時進程的信息,top顯示的是進程的動態信息,使用這個命令會看到進程信息的動態變化。
二、ps -ef|grep
ps -ef|grep *** 查看某個進程
很多時候我們在linux 中運行玩一個應用是需要知道他是否成功
比如我們 進入tomcat > bin 目錄下
執行./startup.sh
啟動tomcat
[root@localhost bin]# ./startup.sh
然后想要查看當前的tomcat 進程是否啟動, 你們就需要ps了
[root@localhost bin]# ps -ef|grep tomcat
運行如:
三、 ps -l
ps -l
列出與 本次登錄系統 有關的進程信息
ps ( ps -l, 列出的是詳細信息 )
運行如:
其他相關參數:
F
代表這個程序的旗標 (flag), 4 代表使用者為 superuser;
S
代表這個程序的狀態 (STAT);
( 常見的進程的 STAT 如下:
R
運行 Runnable (on run queue) 正在運行或在運行隊列中等待,
S
睡眠 Sleeping 休眠中, 受阻, 在等待某個條件的形成或接受到信號,
I
空閑 Idle ,
Z
僵死 Zombie(a defunct process) 進程已終止, 但進程描述符存在, 直到父進程調用wait4()系統調用后釋放,
D
不可中斷 Uninterruptible sleep (ususally IO) 收到信號不喚醒和不可運行, 進程必須等待直到有中斷發生,
T
終止 Terminate 進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號后停止運行運行,
P
等待交換頁 ,
W
無駐留頁 has no resident pages 沒有足夠的記憶體分頁可分配,
X
死掉的進程 ,
<
高優先級進程 高優先序的進程 ,
N
低優先 級進程 低優先序的進程 ,
L
內存鎖頁 Lock 有記憶體分頁分配並縮在記憶體內 ,
s
進程的領導者(在它之下有子進程),
l
多進程的(使用 CLONE_THREAD, 類似 NPTL pthreads)
四、ps -aux
1、ps -aux 列出在內存中運行的 全部進程信息
運行如:
2、 ps -aux | grep *** 列出 某個 進程的詳細信息
運行如:
其中每一項參數對應的實際意義
如:
[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
:進程的所屬用戶,
PID
:進程的進程ID號,
%CPU
:進程占用的 CPU資源 百分比,
%MEM
:進程占用的 物理內存 百分比,
VSZ
:進程使用掉的虛擬內存量 (Kbytes) ,
RSS
:進程占用的固定的內存量 (Kbytes) ,
TTY
:與進程相關聯的終端(tty),?代表無關,tty1-tty6是本機上面的登入者程序,pts/0表示為由網絡連接進主機的程序。
STAT
:進程的狀態,具體見2.1列出來的部分 ,
START
:進程開始創建的時間 ,
TIME
:進程使用的總cpu時間,
COMMAND
: 進程對應的實際程序。
五、 ps to
ps top動態顯示內存中的進程信息(top)
運行如:
六、 kill -9 pid
kill -9 pid 殺死進程
其他相關操作
其中pid
對應的是每個進程的編號
比如查看tomcat 對應進程號
可以通過[root@localhost logs]# ps -aux|grep tomcat
或者 [root@localhost logs]# ps -ef|grep tomcat
進行進程查詢
運行如:
如果想強行關閉 root 6722 43589 0 19:22 pts/1 00:00:00 grep --color=auto tomcat
就可以執行kill -9 6722
來強行殺掉改進程
注:
有些進程是不允許停止的,因為停止會造成系統的不穩定,甚至崩潰。
二、查看日志
一、tail -f catalina.out
很多時候需要知道一個程序運行后的一下信息,如tomcat 后的項目接口調用情況
-
進入
tomcat > bin
目錄下
執行./startup.sh
啟動tomcat
運行如:
-
查看
tomca
t啟動日志
1、先切換到:cd 當前的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
運行如:
[root@localhost logs]# tail -f -n 200 catalina.out
運行如:
比如每次的tomcat 關閉也可以清楚看到:
二、tail 參數
查看看日志參數:
-f
循環讀取
-q
不顯示處理信息
-v
顯示詳細的處理信息
-c<數目>
顯示的字節數
-n<行數>
顯示行數
--pid=PID
與-f合用,表示在進程ID,PID死掉之后結束.
-q, --quiet, --silent
從不輸出給出文件名的首部
-s, --sleep-interval=S
與 -f
合用,表示在每次反復的間隔休眠S秒
三、關鍵詞高亮顯示
tail -n 200 -f dpe_partner_all.log | perl -pe 's/(關鍵詞)/\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
文件,同時高亮顯示 java.lang.IllegalArgumentException
,那么就可以這樣:
tail -n 200 -f catalina.out| perl -pe 's/(java.lang.IllegalArgumentException)/\e[1;31m$1\e[0m/g'
運行如:
好了個人基本 操作紀錄完畢,下次再會哈哈^_^,歡迎加群一起交流