Как убить системный процесс в C ++ - PullRequest
0 голосов
/ 26 ноября 2011

Я нашел пример того, как убить нормальный процесс, но он не убивает системный процесс.
Я не хочу убивать критический процесс, просто системный процесс.

Как я могу это сделать?

Ответы [ 2 ]

4 голосов
/ 26 ноября 2011

Это зависит от того, какую систему вы используете.

В Windows предоставляемая документация неоднозначна и может отличаться от версии к другой.

В семействе * nix (Mac OS X, Linux, ...) вы должны манипулировать потоками уровня ядра и закрывать их, отправляя сигнал SIGKILL. Однако я не знаю, можете ли вы даже от имени пользователя root отправить их по своей воле.

0 голосов
/ 26 ноября 2011

Это зависит от операционной системы. В POSIX системе, такой как Linux, вы можете использовать системный вызов kill .

Однако любая приличная операционная система с некоторой аутентификацией (как, например, понятие идентификатора пользователя в Linux) запрещает вам завершать системный процесс, потому что именно системные процессы так или иначе привилегированы (так что они являются именно «системными процессами» для защиты). они будут убиты любым случайным процессом).

...