我有 2 个终端打开。在终端 1 中,我bash
运行,然后运行xlogo
;xlogo
当然是孩子。如果我输入ps T o user,pid,tty,args,ppid
它会给我:
USER PID TT COMMAND PPID
shahzeb 2526 pts/3 bash 2248
shahzeb 2762 pts/3 xlogo 2526
shahzeb 3152 pts/3 ps T o user,pid,tty,args,pp 2526
但如果我在终端 2 中执行此操作,它不会xlogo
仅列出具有不同 pid 的 bash。
我的问题是如何在终端 2 中输入内容并验证bash
终端 1 中的进程是否是该进程的父进程xlogo
?
答案1
默认情况下,该ps
命令打印有关与当前用户具有相同有效用户 ID 的所有进程的信息,并且与调用者相同的终端相关联。这就是为什么从终端 2 运行它时看不到xlogo
或其父进程的原因。bash
如果您想查看默认行为范围之外的内容,那么您需要传递其他参数来ps
更改该行为。一种选择是使用该-A
选项,例如:ps -A T o user,pid,tty,args,ppid
。