-o comm=意味着用户输出应该只是命令名称,但没有任何列标题。例如,如果您这样做-o comm=COMMAND,它会为您打印一个列标题COMMAND:
$ ps -o comm= -p $PPID
xterm
$ ps -o comm=COMMAND -p $PPID
COMMAND
xterm
Run Code Online (Sandbox Code Playgroud)-p $PPID选择由定父的过程PID中,PPID。
这意味着-o comm= -p $PPID是两个独立的选项。
因此,您的命令实际上确实通过它为您提供了父进程的名称PPID。
例如,如果我开始tmux,它有PID1632。现在我bash在每个窗格中启动几个,每个都有 1632 的 PPID,但有自己的 PID。
了解这里更紧靠PID和PPID秒。
我不确定,但ps可能会查看/proc/$PPID/comm以确定父级的命令名称。
就我而言,执行此命令会为您提供父进程的名称,而无需使用ps:
$ cat /proc/$PPID/comm
tmux
$ cat /proc/1632/comm
tmux
Run Code Online (Sandbox Code Playgroud)