ps没有显示所有进程

ps没有显示所有进程

script我在启动终端后立即使用了该命令,它开始记录我当前的会话,但是当我ps之后使用该命令时,它只显示两个进程,一个用于bash一个用于ps自身,但它没有显示脚本命令的任何进程后台运行,为什么会这样?更一般地说,实际上我从未见过该ps命令在我的终端上显示超过 2 个进程,我的 shell 或终端设置有问题吗?我目前正在使用Ubuntu。

答案1

您的终端或 shell 没有任何问题。默认情况下,ps显示与运行该进程的用户具有相同有效用户标识符并与同一终端关联的进程。这通常会导致仅显示两个进程:当前 shell 及其ps自身。如果有任何与当前终端关联的后台进程,它们也会显示出来;你可以通过运行看到这个

sleep 120 &
ps

要查看所有进程,请运行

ps -e

还有许多其他进程选择标志,请参阅man ps您的系统了解详细信息。

当您运行时script,它会分配一个新的终端并启动一个新的 shell;所以ps里面script是在不同的终端上运行(即使它在同一个终端中窗户在您的系统上或同一虚拟控制台上)。这就是为什么你看不到script。您可以通过在运行tty之前和之后运行来看到这种情况的发生script:您将看到它输出两个不同的值。

也可以看看“终端”、“shell”、“tty”和“控制台”之间的确切区别是什么?

相关内容