Предполагая, что вы работаете на * nix-платформе и у вас есть идентификатор процесса (т.е. вы сами порождали процесс, использовали какой-то другой метод для определения его pid
), используя kill(2)
работа:
#include <sys/types.h>
#include <signal.h>
void main() {
/* ... */
pid_t pid = ???;
kill(pid, SIGTERM);
}
Он будет работать только при определенных условиях:
Чтобы процесс имел разрешение на отправку сигнала, он должен быть либо привилегированным (в Linux: иметь возможность CAP_KILL), либо действительный или эффективный идентификатор пользователя процесса отправки должен совпадать с действительным или сохраненным установленным идентификатором пользователя. целевого процесса. В случае SIGCONT этого достаточно, когда отправляющий и принимающий процессы принадлежат одному сеансу.