Идентификатор процесса родительского процесса не отображается в команде ps-a - PullRequest
0 голосов
/ 28 сентября 2019

Я пишу код на c в linux, и мне нужно отобразить pid текущего процесса, а также родительский процесс.Я использую команду ps -a для перекрестной проверки, но она там не отображается.Любая помощь будет высоко ценится

 #include <sys/types.h>
 #include <unistd.h>
 #include <stdio.h>

 void main()
 {
  sleep(4);
  printf("The process id of the current process running is  %d\n",getpid());                              
  sleep(4);
  printf("The process id of the parent process is %d\n", getppid());
 }

1 Ответ

1 голос
/ 28 сентября 2019

ps -a command не дает вам PID команды, вам нужно grep:

ps -a | grep command

, если вы не хотите использовать grep, вы можете использовать

pidof command

Но если вам также нужен PPID, вам нужно:

ps -ef | grep command
...