終了できないジョブを終了する方法(無中断?)

終了できないジョブを終了する方法(無中断?)

私はpm-hibernate(Linux 4.0.7-2)をブロックするタスクを実行しています。 pm-hibernateを試みると、「20.002秒後にジョブの固定に失敗しました(1ジョブの固定が拒否されました、wq_busy = 0):」というエラーメッセージが表示され、ジョブが表示されます。

そのプロセスは死んだプロセスで、数時間前に終了しました。 rootでカーネルから削除できないのはなぜですか?まるでWindowsの下にあるような感じですよ!

同様の関連質問を見ました。再起動しないと終了できないプロセスを終了するには?しかし、満足のいく答えはないようです。

いくつかの情報(31207pidは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はこの問題で悪名高いが、プロセスを中断する別の方法があります。この動作は、呼び出しプロセスに制御を返さない破損したデバイスドライバが原因で発生する可能性があります。人々はドライバーをリセットする必要がありますが、一般的にそうする方法はありません。話すのが嫌いです。再起動以外は何もしません。

おすすめ記事