2015-12-02 4 views
0

Выполняет ли единственный процесс отца (убивает) своих детей? Или даже другой процесс без какого-либо отношения к этому конкретному процессу может убить его?Прекращение процесса по его родительскому или другим процессам

Какие процессы могут убить конкретный процесс?

+0

Вы никогда не использовали 'kill -9' в Linux или Task Manager 'End process' в Windows? –

ответ

0

Любой процесс, имеющий идентификатор процесса другого процесса с тем же идентификатором пользователя, может завершить его, отправив сигнал SIGQUIT на этот процесс, используя kill(pid, SIGQUIT). Для этого использования необходимо включить <sys/types.h> и <signal.h>.

Указывается на man page of kill:

Для процесса иметь разрешения на передачу сигнала он должен быть либо привилегированными (под Linux: есть возможность CAP_KILL), или реальный или эффективный идентификатор пользователя из процесс отправки должен равняться реальному или сохраненному идентификатору установленного пользователя целевого процесса. В случае SIGCONT достаточно, когда процессы отправки и получения относятся к одному сеансу.

+0

Кажется, что не работает в Windows. –

+0

@MartinJames В Windows процессы на самом деле не имеют родителей. Поэтому я предположил, что этот вопрос не может быть задан в отношении Windows. –

Смежные вопросы