据我了解,当从 linux 或 unix 中的 shell 启动一个进程时,会创建一个新的进程组,该进程作为进程领导者,使其 PID 等于新的 PGID,该新的 PGID 用于从该进程生成的任何进程。
据我了解,在进程领导者终止的情况下,一个新进程将成为领导者。这个新的领导者将拥有一个与进程组的 PGID 不相等的 PID。那么,查看组中的所有进程,我如何确定哪个进程是领导者?
答案1
你可以运行:
pgrep -g <PGID>
这将返回该组的所有 PID。第一个是领导者。
如果你只想要领导者,你可以运行:
pgrep -g <PGID> | head -1