2011-11-26 2 views
0

나는 정상적인 프로세스를 죽이는 방법에 대해 example을 찾았지만 시스템 프로세스는 죽이지 않을 것이다.
필자는 중요한 프로세스 인 시스템 프로세스 만 죽이고 싶지 않습니다.C++에서 시스템 프로세스를 죽이는 방법

어떻게하면됩니까?

+2

프로세스를 종료하고 싶지만 권한이 없습니다. 오류가 무엇입니까? –

+0

가능한 중복 : [확인 된 프로세스 ID에 대해 TerminateProcess가 작동하지 않습니다.] (http://stackoverflow.com/questions/7869347/terminateprocess-doesnt-work-for-verified-process-id). – kba

+0

질문에 태그가 달렸습니다. 모든 세상은 창문이 아니며 다른 운영 체제에서는 답변이 다릅니다. – dmckee

답변

4

실행중인 시스템에 따라 다릅니다.

제공된 Windows 설명서는 모호하며 버전마다 다를 수 있습니다.

* nix 계열 (Mac OS X, Linux, ...)에서는 SIGKILL 신호를 보내서 커널 수준의 스레드를 조작하고 닫아야합니다. 그러나 루트 사용자라도 자신의 의지로 보낼 수 있는지 여부는 알 수 없습니다.

0

운영 체제마다 다릅니다. Linux와 같은 POSIX 시스템에서는 kill 시스템 호출을 사용할 수 있습니다.

그러나 약간의 인증 (예 : Linux의 사용자 ID 개념)과 같은 적절한 운영 체제는 시스템 프로세스가 어떻게 든 특권을 갖기 때문에 시스템 프로세스를 죽이는 것을 금지합니다 (정확하게는 시스템 프로세스이기 때문에). 어떤 임의의 과정에 의해 살해되도록 그들을 보호하십시오).

관련 문제