URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 2785
[ Назад ]

Исходное сообщение
"Как получить ID родительского процесса"

Отправлено mike , 11-Апр-04 01:49 
Как мне сделать следующее.

Если потомком процесса N являюсь я, то отправить ему сигнал SIGTERM.

Мне приходит в голову только вариант сравнить свой ID (getpid) и ID родительского процесса проверяемого процесса. Вот было бы что-то типа getppid(ID);


Содержание

Сообщения в этом обсуждении
"Как получить ID родительского процесса"
Отправлено DeadMustdie , 11-Апр-04 13:29 
man getppid

"Как получить ID родительского процесса"
Отправлено mike , 11-Апр-04 14:41 
>man getppid


Насколько я понимаю, getppid может получить ID родительского процесса текущего. А мне нужно произвольного !!!!


"Как получить ID родительского процесса"
Отправлено DeadMustdie , 11-Апр-04 21:51 
>Насколько я понимаю, getppid может получить ID родительского процесса текущего. А мне
>нужно произвольного !!!!

IMHO, полной портабельности не получится,  но -
  grep PPid /proc/<pid>/status


"Как получить ID родительского процесса"
Отправлено black_pokemon , 13-Апр-04 21:13 
>Как мне сделать следующее.
>
>Если потомком процесса N являюсь я, то отправить ему сигнал SIGTERM.
>
>Мне приходит в голову только вариант сравнить свой ID (getpid) и ID
>родительского процесса проверяемого процесса. Вот было бы что-то типа getppid(ID);

     А зачем? ведь если kill(getppid(),SIGTERM), то потомок будет посылать SIGTERM родителю, а не кому-нибудь другому... А иначе у тебя прям какой-то ИПЦ (IPC) получается :-)