Короче говоря: вы не можете делать это напрямую.
В общем: посмотрите, вы можете проверить значение getppid()
и сравнить его с bash
PID или b.out
PID
Чтобы найти процесс внутри таблицы процессов с помощью известного PID с C, вы можете сделать следующее:
1) получить PPID
из a.out
и выполнить поиск с этим значением в /porc
, а затем, если вы найдете папку, проверить файл cmdline
и проверить, является ли этот процесс b.out
или shell
,
2) вы можете иметь дело с sysctl
системным вызовом и иметь дело с параметрами ядра (вы можете погуглить)
3)
pid_t ppid = getppid();<br>
system("pidof bash > text.in");
system
получит pid любого процесса оболочки и запишет результат в text.in
файл
он содержит все разделенные пробелом идентификаторы PID, вы можете сравнить эти значения со значением getppid()
.
Удачи.