谁是可执行程序的父级?

时间:2015-03-09 20:55:32

标签: linux

我没有得到有关这方面的有效答案,谁是在linux(ubuntu)中创建的可执行程序的父。我得到了许多答案,如getppid(),ps命令等,但不完全正确的答案。我不需要id和父id,它只是简单的谁是任何可执行程序的父?它是init还是别的什么? 请帮帮我。

1 个答案:

答案 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