在Linux系統中,有時我們需要查看某個進程的相關信息,而pid是唯一標識一個進程的值。下面從多個方面來講解如何通過pid查看進程。
一、根據pid查看進程名
我們可以通過命令ps -p pid來查看指定pid的進程名。
$ ps -p 12345
PID TTY TIME CMD
12345 pts/1 00:00:00 bash其中,PID表示進程的pid,CMD表示進程名。
二、根據pid查看進程啟動時間
使用ps -p pid -o lstart命令來查看指定pid的進程啟動時間。
$ ps -p 12345 -o lstart
STARTED
Tue Oct 26 15:25:51 2021其中,STARTED表示進程的啟動時間。
三、根據pid查看進程命令
我們可以使用cat /proc/pid/cmdline命令來查看指定pid的進程完整命令。
$ cat /proc/12345/cmdline
bash需要注意的是,這裡得到的命令不一定是真正執行的命令,可能是由bash解釋器執行的命令。
四、根據pid查看進程詳情
我們可以使用ps -fp pid命令來查看指定pid的進程詳細信息。
$ ps -fp 12345
UID PID PPID C STIME TTY TIME CMD
user 12345 12344 0 15:25 pts/1 00:00:00 bash其中,UID表示進程的所有者,PPID表示進程的父進程pid,C表示進程使用的CPU百分比,STIME表示進程的啟動時間,TTY表示進程的終端,TIME表示進程已經使用的CPU時間,CMD表示進程名。
五、查看pid的父進程
我們可以使用ps -p pid -o ppid命令來查看指定pid的父進程pid。
$ ps -p 12345 -o ppid
PPID
12344需要注意的是,進程的ppid不一定是直接父進程的pid,可能是由其他進程繼承而來,因此需要進一步查看。
六、根據pid查看進程埠
我們可以使用netstat -anp | grep pid命令來查看指定pid使用的埠。
$ netstat -anp | grep 12345
tcp6 0 0 :::8000 :::* LISTEN 12345/bash其中,TCP/UDP表示傳輸協議,LOCAL_ADDRESS:PORT表示本地地址和埠,REMOTE_ADDRESS:PORT表示遠程地址和埠,STATE表示連接狀態,PID/Program_name表示進程的pid和程序名。
七、根據pid查看進程命令路徑
我們可以使用which $(ps -p pid -o cmd=)命令來查看指定pid的進程命令路徑。
$ which $(ps -p 12345 -o cmd=)
/bin/bash其中,which命令可以在環境變數$PATH指定的路徑中搜索命令,並返回命令的路徑。
八、根據pid查看進程信息
我們可以使用cat /proc/pid/status命令來查看指定pid的進程詳細信息。
$ cat /proc/12345/status
Name: bash
Umask: 0002
State: S (sleeping)
Tgid: 12345
Ngid: 0
Pid: 12345
PPid: 12344
TracerPid: 0
Uid: 1000 1000 1000 1000
Gid: 1000 1000 1000 1000
FDSize: 256
Groups: 16 27 30 46 121 131 1000
NStgid: 12345
NSpid: 12345
NSpgid: 12345
NSsid: 2671
VmPeak: 336652 kB
VmSize: 336652 kB
VmLck: 0 kB
VmPin: 0 kB
VmHWM: 1172 kB
VmRSS: 636 kB
RssAnon: 4136 kB
RssFile: 10576 kB
RssShmem: 0 kB
VmData: 114620 kB
VmStk: 132 kB
VmExe: 936 kB
VmLib: 25684 kB
VmPTE: 1148 kB
VmSwap: 0 kB
其中,Name表示進程的名字,State表示進程的狀態,Tgid表示線程組ID(如果是多線程進程會有多個線程,不同線程的pid相同,但是tgid不同),Pid表示進程的pid,PPid表示進程的父進程pid,Uid表示進程所有者的UID,Groups表示所屬組的GID,VmPeak表示虛存峰值,VmSize表示進程使用的虛擬內存空間大小,VmHWM表示進程使用的物理內存峰值。
九、根據pid查看進程內存佔用
我們可以使用ps -p pid -o rss命令來查看指定pid的內存佔用。
$ ps -p 12345 -o rss
RSS
6868其中,RSS表示佔用的物理內存大小,單位為KB。
十、Linux根據pid查看進程
除了以上介紹的命令,我們還可以使用其他命令來查看進程,比如top、htop等。這些工具可以動態展示當前系統的進程情況,提供更加豐富的信息,方便我們進行進程管理。
原創文章,作者:XFCED,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/369124.html
微信掃一掃
支付寶掃一掃