나는 pm-hibernate(Linux 4.0.7-2)를 차단하는 작업을 실행하고 있습니다. pm-hibernate를 시도하면 "20.002초 후에 작업 고정에 실패했습니다(1 작업 고정이 거부됨, wq_busy=0):"라는 오류 메시지가 표시되고 작업이 표시됩니다.
해당 프로세스는 죽은 프로세스이며 몇 시간 전에 종료되었습니다. 루트로 커널에서 제거할 수 없는 이유는 무엇입니까? 마치 Windows 아래에 있는 것 같은 느낌이에요!
비슷한 관련 질문을 보았습니다.다시 시작하지 않고는 종료할 수 없는 프로세스를 종료하는 방법은 무엇입니까?하지만 만족스러운 대답은 없는 것 같습니다.
일부 정보( 31207
pid는 pid입니다):
# cat /proc/31207/syscall
11 0x7fe482a47000 0x25fce 0x7fe481d4eb78 0x1 0x7fe482a6e700 0x25f2d30 0x7ffca8d8c278 0x7fe481a95ae7
# ps -l -p 31207
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 D 1001 31207 1 0 80 0 - 5035 lock_e pts/9 00:00:00 a.out
# ps -lnp 31207
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 D 1001 31207 1 0 80 0 - 5035 ffffff pts/9 0:00 /tmp/a.out
# ps opid,wchan:42,cmd -p 31207
PID WCHAN CMD
31207 lock_extent_bits /tmp/a.out
그렇다면 왜 멈출 수 없습니까? 잠시 멈추는 것만으로도 충분합니다!
저는 네트워크 파일 시스템을 사용하고 있지 않습니다. 작업은 네트워크에 액세스하는 간단한 작업입니다. 이 내용을 읽을 수 있다면 네트워크는 아직 양호한 것입니다.
답변1
상태 D(무중단 절전)의 프로세스는 이 상태에서는 종료될 수 없습니다. NFS는 이 문제로 악명 높지만 프로세스를 중단시키는 다른 방법이 있습니다. 호출 프로세스에 제어권을 반환하지 않는 손상된 장치 드라이버로 인해 이 동작이 발생할 수도 있습니다. 사람들은 드라이버를 재설정해야 하지만 일반적으로 그렇게 할 수 있는 방법이 없습니다. 말하기 싫습니다. 재부팅 외에는 할 일이 없습니다.