Как отправить сигнал процессу по имени?

В linux есть функция

int kill(pid_t pid, int sig);

которая отправляет сигнал процессу по его pid, есть ли способ отправить сигнал процессу по его имени?

Есть команда pkill, которая может отправить сигнал процессу по имени, если ли подобный системный вызов?


Ответы (1 шт):

Автор решения: gbg

Очевидно, что введение подобного системного вызова было бы избыточным и приводило бы к неоднозначностям, требующим разрешения (Что делать, если процессов, порожденных одним бинарником несколько штук? Что делать, если они принадлежат разным пользователям?, и так далее.)

Поэтому, данную задачу следует решать в два этапа:

  1. Составить список процессов, которым нужно послать сигнал, прочитав и распарсив содержимое /proc
  2. Выполнить рассылку сигнала.
→ Ссылка