你得到一个 'aux ps' 输出,其中只打开了 1 个终端并且 a.out 被执行了 2 次,但你只调用了一次。趋势中的某事

You get an 'aux ps' output where only 1 terminal was opened and a.out was executed 2 times, but you only called it once. Something in the trend of

问题如下:

  1. 如何从上图中看出只有一个终端打开?

  2. 真的是一个parent进程和两个child进程吗?你怎么能这么说呢?我们可以确定 parent 和 child 的状态吗?

在 Linux 中,子进程或线程(轻量级子进程)经常会出现在具有完全相同签名的父进程下方,看起来好像有两个或更多相同进程 运行宁.

如果你做

 ps -efH | grep a.out 

你应该看到那个树结构,你也可以通过打开树视图 (F5) 在 htop 中观察它。或者做一个

 pstree -clap <pid of parent process>

您也可以使用父终端进程,它会为您提供进程及其所有子进程。所以从终端你将要 运行 a.out 做

 echo $$ 

这将为您提供其进程,启动 a.out 然后在另一个终端中使用您刚刚在 pstree 命令中获得的进程 ID。