Ho provato google, ma getppid()
trovato getppid()
che ottiene il pid genitore del processo corrente .
Ho bisogno di qualcosa come getppid(some_other_pid)
, c’è una cosa del genere? Praticamente prende il pid di qualche processo e restituisce il processo genitore ‘pid.
Penso che la cosa più semplice sarebbe aprire “/ proc” e analizzare il contenuto.
Troverai il ppid come il 4 ° parametro di / proc / pid / stat
o da una shell unix puoi provare ps -p
Sono 7 anni in ritardo per la festa, ma per chiunque possa imbattersi in questa domanda, ecco una soluzione alternativa su OS X. Altre risposte pubblicate qui sono corrette e sysctl()
farà il lavoro, ma puoi anche usare proc_pidinfo
per ottenere un molte informazioni utili su un processo.
#include int getppid(const pid_t pid) { proc_bsdinfo info; proc_pidinfo(pid, PROC_PIDTBSDINFO, 0, &info, sizeof(info)); return info.pbi_ppid; }
Ovviamente, è richiesto un ulteriore controllo degli errori.
Puoi dare un’occhiata alla chiamata di sistema sysctl()
e questo link.
un altro modo per ottenerlo dalla proc proc:
cat /proc//status | grep PPid: