在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/n/369124.html
微信扫一扫
支付宝扫一扫