检查终端1中的bash进程是子进程的父进程,FROM终端2?

检查终端1中的bash进程是子进程的父进程,FROM终端2?

我有 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

相关内容