функция kill, возвращающая неверный аргумент - PullRequest
1 голос
/ 06 января 2012

Я использую kill функцию для kill процесса. Однако при возврате -1 и perror отображается «Неверный аргумент». Читая руководство по kill, он говорит, что эта ошибка возникает, если указано неправильное значение сигнала. Я прохожу -9 или SIGKILL, вот так kill( SIGKILL, pid ).

Тогда почему он дает неверную ошибку аргумента. Обратите внимание, что процесс, вызывающий функцию kill, является потомком процесса, который мы пытаемся уничтожить.

Ответы [ 2 ]

5 голосов
/ 06 января 2012

kill принимает свои аргументы наоборот.Со страницы руководства :

int kill(pid_t pid, int sig);

Поскольку вы передаете PID вместо номера сигнала и наоборот, вполне вероятно, что хотя бы один из них будетневерный аргумент, как perror говорит вам.

2 голосов
/ 06 января 2012

Ваш kill( SIGKILL, pid ); должен быть kill(pid, SIGKILL);

man 2 kill

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...