文章目录
一.查看 环境变量, 参数
1.ps命令的方式获取信息: 执行目录, 环境变量, 完整的命令行
ps eww -p <process_pid>
: 返回某个进程的执行时的环境变量和完整的命令行
参数说明
e 显示环境以及传递给命令的参数,最多不超过 80 个字符。
eww 将 e 标志中的显示内容换行并显示 ENV 列表,直至该标志达到 LINE_MAX 值。
-p proclist 仅显示有关 proclist 指定的进程号的进程的信息。proclist 的值必须为数字。
更多详细参数参考: https://www.ibm.com/support/knowledgecenter/zh/ssw_aix_71/com.ibm.aix.cmds4/ps.htm#ps__row-d3e110413
无权限的用户执行时,只会显示完整的命令行:
有权限的用户会显示命令行+环境变量信息:
2.查看文件的方式获取信息: 执行目录, 环境变量, 完整的命令行
通过ps及top命令查看进程信息时,只能查到相对路径,查不到的进程的详细信息,如绝对路径等。这时,我们需要通过以下的方法来查看进程的详细信息:
Linux在启动一个进程时,系统会在/proc下创建一个以PID命名的文件夹,在该文件夹下会有我们的进程的信息,其中包括一个名为exe的文件即记录了绝对路径,通过ll或ls –l命令即可查看。
ll /proc/<process_pid>
cwd 符号链接的是进程运行目录;
exe 符号连接就是执行程序的绝对路径;
cmdline 就是程序运行时输入的命令行命令;
environ 记录了进程运行时的环境变量;
fd 目录下是进程打开或使用的文件的符号连接。
cwd 链接的是启动进程的目录(也就是输入命令行所在的目录)
environ: 记录该进程当时所有环境变量(常用 tr '\0' '\n' < /proc/<process_pid>/environ 命令将环境变量一个属性一行的显示)
cmdline: 运行进程当时执行的完整命令
对比使用ps命令来获取信息,命令ps eww -p <process_pid>
包含了绝对路径的命令和环境变量
二.查看端口
使用ss命令查看监听端口/usr/sbin/ss -rtnlp | grep <process_pid>
ps aux 命令展示项说明
[yveshe@yveshe ~]$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.3 51708 3368 ? Ss Jan21 1:00 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root 2 0.0 0.0 0 0 ? S Jan21 0:00 [kthreadd]
...
说明:
• USER:该 process 属于那个使用者账号
• PID :该 process 的ID
• %CPU:该 process 使用掉的 CPU 资源百分比;
• %MEM:该 process 所占用的物理内存百分比;
• VSZ :该 process 使用掉的虚拟内存量 (Kbytes)
• RSS :该 process 占用的固定的内存量 (Kbytes)
• TTY :该 process 是在那个终端机上面运作,若与终端机无关,则显示?
,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
• STAT:该程序目前的状态,主要的状态有:
o R :该程序目前正在运作,或者是可被运作;
o S :该程序目前正在睡眠当中 (可说是 idle 状态啦!),但可被某些讯号 (signal) 唤醒。
o T :该程序目前正在侦测或者是停止了;
o Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态
• START:该 process 被触发启动的时间;
• TIME :该 process 实际使用 CPU 运作的时间。
• COMMAND:该程序的实际指令
STAT 进程状态(有以下几种)
D 无法中断的休眠状态(通常 IO 的进程);
R 正在运行可中在队列中可过行的;
S 处于休眠状态;
T 停止或被追踪;
W 进入内存交换(从内核2.6开始无效);
X 死掉的进程(从来没见过);
Z 僵尸进程;
< 优先级高的进程
N 优先级较低的进程
L 有些页被锁进内存;
s 进程的领导者(在它之下有子进程);
l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads)