我没有得到有关这方面的有效答案,谁是在linux(ubuntu)中创建的可执行程序的父。我得到了许多答案,如getppid(),ps命令等,但不完全正确的答案。我不需要id和父id,它只是简单的谁是任何可执行程序的父?它是init还是别的什么? 请帮帮我。
答案 0 :(得分:0)
您可以在Gnu / Linux安装上从/ proc文件系统访问此信息。
cat /proc/5741/stat | cut -d " " -f 4
5740
其中5741是相关的流程ID,并且' stat'是一个包含有关进程的stauts信息的文件。第4个字段是父进程ID。有关更多信息 man proc
要获取父进程的名称,请使用第一个命令中的信息并从stat
获取第二个字段 cat /proc/5740/stat | cut -d " " -f 2
(nginx)
一起
cat /proc/`cat /proc/5741/stat | cut -d " " -f 4`/stat | cut -d " " -f 2
我的流程从 ps -fax
看起来像这样 5740 ? S 0:00 | \_ nginx: master process nginx
5741 ? S 0:00 | \_ nginx: worker process
5742 ? S 0:00 | \_ nginx: worker process
5743 ? S 0:00 | \_ nginx: worker process
5744 ? S 0:00 | \_ nginx: worker process