在Linux中,你可以使用ps
命令结合grep
和awk
等工具来判断进程状态
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | grep process_name | awk '{print $2}' | xargs -r ps -p $1 -o s
这个命令的解释如下:
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu
:列出系统中所有进程的详细信息,包括进程ID(pid)、父进程ID(ppid)、命令(cmd)、内存使用率(%mem)和CPU使用率(%cpu),并按CPU使用率降序排序。
grep process_name
:从上面的输出中筛选出包含process_name
的进程。
awk '{print $2}'
:提取每行中的第二个字段,即父进程ID(ppid)。
xargs -r ps -p $1 -o s
:使用xargs
将上一步获取到的父进程ID作为参数,调用ps
命令获取父进程的状态(s表示进程状态)。-r
选项表示仅在接收到输入时才运行ps
命令。
注意:请将process_name
替换为你要查询的实际进程名称。