1.ps命令
Linux中的ps命令是Process Status的縮寫。ps命令用來列出系統中當前運行的那些進程。
命令參數: a 顯示所有進程 -a 顯示同一終端下的所有程序 -A 顯示所有進程 c 顯示進程的真實名稱 -N 反向選擇 -e 等於“-A” e 顯示環境變量 f 顯示程序間的關系 -H 顯示樹狀結構 r 顯示當前終端的進程 T 顯示當前終端的所有程序 u 指定用戶的所有進程 -au 顯示較詳細的資訊 -aux 顯示所有包含其他使用者的行程 -C<命令> 列出指定命令的狀況 --lines<行數> 每頁顯示的行數 --width<字符數> 每頁顯示的字符數 --help 顯示幫助信息 --version 顯示版本顯示
1.1 顯示所有進程信息,連同命令行
命令:ps -ef
注意:-ef 命令參數會連同命令行打印出來
輸出:
UID PID PPID C STIME TTY TIME CMD root 1 0 0 May23 ? 00:00:08 /lib/systemd/systemd --system --deserialize 21 root 2 0 0 May23 ? 00:00:00 [kthreadd] root 4 2 0 May23 ? 00:00:00 [kworker/0:0H]
參數說明:
- UID 代表執行者身份
- PID 進程的ID號!
- PPID 父進程的ID;
- C CPU使用的資源百分比
1.2 ps 與grep 常用組合用法,查找特定進程
命令:ps -ef|grep java
[test@localhost] $ ps -ef|grep java test 18835 29986 0 06:05 pts/5 00:00:00 grep --color=auto java test 25652 23863 0 03:49 pts/4 00:00:25 java -jar flep-sdk-cloud-test1-1.0-SNAPSHOT.jar
2.Linux 運行/關閉jar 包
2.1 linux 運行jar包
(1) 在Linux中運行jar包: 直接用java -jar xxx.jar,當退出或關閉shell時,程序就會停止掉。
以下方法可讓jar運行后一直在后台運行:
java -jar XXX.jar &
(2) nohup 不掛斷運行的命令,當終端或者賬戶關閉的時候,程序依舊運行。
當前的命令默認會把日志輸出到nohup.out文件中
nohup java -jar XXX.jar &
指定輸出日志文件
nohup java -jar XXX.jar >log.out &
例如:jar包名稱叫zentao.jar
命令如下:nohup java -jar zentao.jar >zentao.log &\
(3) 標准寫法(極力推薦)
- 0 表示stdin標准輸入
- 1 表示stdout標准輸出
- 2 表示stderr標准錯誤
nohup java -jar XXX.jar >log.out 2>&1 &
>file 2>&1" 的作用是: 將命令行程序的錯誤輸出和標准輸出都輸出到文件file中
& 放在命令到結尾,表示后台運行,防止終端一直被某個進程占用,這樣終端可以執行別的任務,配合 >file 2>&1可以將log保存到某個文件中,但如果終端關閉,則進程也停止運行。如 command > file.log 2>&1 & 。
nohup放在命令的開頭,表示不掛起(no hang up),也即,關閉終端或者退出某個賬號,進程也繼續保持運行狀態,nohup一般配合&符號一起使用。如nohup command &。
2.2 關閉jar程序.
如果想殺掉運行中的jar程序,要先找到對應的pid.查看進程命令為:
ps -ef|grep zentao.jar
將會看到此jar的進程信息
root 3863 1.2 2.7 7815468 450984 ? Sl 11:44 0:16 java -jar zentao.jar root 4614 0.0 0.0 112724 984 pts/0 R+ 12:06 0:00 grep --color=auto zentao.jar
其中3863則為此jar的pid,殺掉命令為
kill -9 3863
參考文獻:https://blog.csdn.net/a913858/article/details/86552365
https://www.cnblogs.com/xiangtingshen/p/10920236.html(ps操作命令)