linux - kill -9가 실행중인 프로세스에서 작동하지 않습니다.


1

apt-get 프로세스를 내 서버에서 실행 중이므로 죽일 수 없습니다.

root     26386 99.7  0.0  25588  2844 ?        RN   06:52 956:49 apt-get -qq -y update

내가 kill 26386먼저 사용 kill -9 26386하고 루트 로 시도했지만 아무 일도 일어나지 않았다.

나는 또한 부모 프로세스를 죽였다. (PPID는 이제 1이다. init이 그것을 수집했다고 생각한다.) 프로세스가 여전히 실행 중이고 최악의 경우 - 많은 CPU 시간을 소모합니다 . 내가 할 수있는 유일한 생각은 우선 순위가 낮습니다.

나는 이해할 수 없다. 왜 kill -9가 작동하지 않는지. 방금 프로세스를 청소하는 커널에 대한 신호 일 뿐이므로 프로세스가 아무 것도 할 수 없다고 생각했습니다. 내가 잘못? 커널과 함께 우분투 서버 12.04 LTS를 사용하고 3.5.0-34있습니다. 현재이 문제를 해결하기 위해 전체 시스템을 재부팅하는 것은 불가능합니다 ...

이 아이디어를 어떻게 죽일 수 있을까요? 아니면 커널에이 버그가 있습니까?

어떤 아이디어 주셔서 감사합니다.


2
kill -9프로세스가 시스템 콜 안쪽에 있으면 즉시 프로세스를 정리하지 못할 수도 있습니다. 따라서 높은 CPU 사용량과 작동하지 않는 kill -9의 조합은 상당히 나쁜 것처럼 보입니다. kill -SEGV이것이 시도해 볼 때 시스템 콜에 전파 될 수 있습니다.
Eugen Rieck

너 루트 야? 필요 없다면 sudo kill -9 26386.
협박

나는 뿌리가 듭니다. 만약 내가 아니라면, 나는 아마도 허가의 결과로 죽임을 당할 것입니다. 나는 죽이지 않습니다. 아무 것도 출력하지 않습니다. 방금 시도했는데 kill -SEGV작동하지 않습니다. 나는 코드가 syscall 내부에있을 것이라고 생각 했으므로 높은 CPU 사용량을 유발해서는 안된다. (아마 블록킹 될 것이고, 코드가 syscall 내부에 영원히 남을 것이라고 상상할 수 없다.) 내가 / proc / 26386 / stack을 볼 때, 거기에만있다 0xffffffffffffffff. 다른 proceses에는 여기에 syscalls가 있다는 것을 알았습니다. 그래서이 권리를 이해한다면 코드가 syscall 안에 있지 않다는 것을 의미합니다. 그러나 첫 번째 아이디어에 감사드립니다.
Martin

Ubuntu 14.04에서 같은 문제가 발생했습니다. 제 경우에는 find100 % CPU를 사용 하는 프로세스입니다.
Ethan Leroy

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