Sobes.tech
Назад к вопросам
Junior — Middle
87

Каким образом осуществляется отправка сигнала управлению процессом в операционной системе?

Компании, где спрашивали
КасперскийКасперский

Ответ от нейросети

sobes.tech AI

В операционных системах на базе Unix/Linux отправка сигнала процессу осуществляется с помощью системного вызова kill(). Этот вызов позволяет отправить определённый сигнал (например, SIGINT, SIGTERM, SIGKILL) процессу по его идентификатору PID.

Пример использования в C:

#include <signal.h>
#include <unistd.h>

int main() {
    pid_t pid = 1234; // PID процесса, которому отправляем сигнал
    int sig = SIGTERM; // сигнал завершения
    int result = kill(pid, sig);
    if (result == 0) {
        // сигнал успешно отправлен
    } else {
        // ошибка при отправке сигнала
    }
    return 0;
}

Кроме kill(), существуют и другие способы, например, через команду kill в терминале или функции raise() для отправки сигнала самому себе. Сигналы используются для управления процессом: прерывание, остановка, возобновление, завершение и т.д.