포크 폭탄 프로세스를 어떻게 죽이나 요?


11

일반 사용자 계정에서 forkbomb를 시작했습니다. "user1"이라는 스크립트를 실행하고 있습니다.

killall -u user1

그러나 상황을 해결하지 못했습니다.


전원 재설정이 옵션입니까?

다른 옵션이 있습니까? 재부팅하면이 문제가 해결됩니다. 그러나 그것은 영구적 인 해결책이 아닙니다. 답변

답변:


14

컴퓨터를 재부팅

당신이 할 수 없다면, 당신은 시도 할 수 있습니다 :

killall -STOP -u user1
killall -KILL -u user1

"영구적 솔루션"이라면, 다시는 이런 일이 발생하지 않도록 막는 것이지만 실제로는 불가능하지만 ulimit문제가있는 사용자 의 수를 줄이고 무시할 수 있습니다.


1
감사 설정 ulimit는 그것을 막기위한 영구적 인 솔루션입니다. 그러나 killall -KILL도 me.thanks를 위해 일했습니다
lakshmipathi


0

콜린의 대답에 동의하지만 -STOP을 스크립트로 감싸고 --20을 사용하여 킬 스크립트가 1000 대의 폭탄보다 CPU를 더 많이 얻을 수 있도록합니다.

echo "while [ 1 ]; do killall -STOP bombprocess ; done" > killscript.sh

또는

echo "while [ 1 ]; do killall -STOP -u userrunningthebomb ; done" > killscript.sh

그때

nice --20 ./killscript.sh

그런 다음 모두 중지 한 후

killall -KILL bombprocess (이 시점에서 이미 ps를 다시 사용할 수 있어야합니다)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.