Как отправить сигнал процессу по имени?
В linux есть функция
int kill(pid_t pid, int sig);
которая отправляет сигнал процессу по его pid, есть ли способ отправить сигнал процессу по его имени?
Есть команда pkill, которая может отправить сигнал процессу по имени, если ли подобный системный вызов?
Ответы (1 шт):
Автор решения: gbg
→ Ссылка
Очевидно, что введение подобного системного вызова было бы избыточным и приводило бы к неоднозначностям, требующим разрешения (Что делать, если процессов, порожденных одним бинарником несколько штук? Что делать, если они принадлежат разным пользователям?, и так далее.)
Поэтому, данную задачу следует решать в два этапа:
- Составить список процессов, которым нужно послать сигнал, прочитав и распарсив содержимое
/proc - Выполнить рассылку сигнала.