web-dev-qa-db-ja.com

表面上は不滅のプロセスを殺す方法は?

NFSマウントで動作する巨大なファイル転送がいくつかありました。マウントポイントが存在していたサーバーが不注意に再起動されたため、これらの大規模な転送が開始されたサーバーは、サーバーによって停止されているようです。

topを実行すると、次のように表示されます。

enter image description here

私が最初に試したのは、それぞれ-1 -2 -9フラグと-15フラグ、および上記の各プロセスIDを順番に使用してkillを実行することでした。これで続行できましたが、プロセスを強制終了しませんでした。次に試みたのはサーバーを再起動することでしたが、rebootshutdown -r nowも機能しませんでした。 shutdown -r nowを実行すると、標準のブロードキャストメッセージが送信されましたが、サーバーが再起動しませんでした。これは、サーバーの稼働時間(25日)を調べて確認しました。

だから今、私は少し行き詰まっています。これらのコマンドをrootとして実行しています。

編集:ここに別の興味深い一口があります:

enter image description here

さらに、他のプロセスがメモリの何パーセントかまたはCPUの5%以上を使用していることはわかりません。

編集2:/var/log/messagesの出力

enter image description here

6
DeeDee

OK、もっと思い切った時間を!

echo 1 >/proc/sys/kernel/panic

これは、カーネルパニックが発生したときに、1秒でホストを再起動するようにカーネルに指示します。

echo c >/proc/sysrq-trigger

これにより、カーネルはパニックに陥ります。したがって、うまくいけば、ホストを再起動することになります。

5
Matthew Ife

シャットダウンプロセスを開始したので、再起動することをお勧めします。物理マシンの場合、サーバーまたはサービスプロセッサを介して物理的に電源を切ることができますか?

そうでない場合で、これらの特定のプロセスがハングアップしていると思われる場合は、次のようにしてmvおよびgzipという名前のすべてのプロセスを強制終了してください。

killall mv

killall gzip

一般的な免責事項として、注意そのkillallコマンドでは、システムプロセスを誤って強制終了したくないので、何を強制終了するかに注意してください。

また、df -hでマウントされたものを確認し、それらをアンマウントしてみてください。 Linuxシステムがnfsマウントを手放さないときに、シャットダウン時にハングするのを見てきました。私は通常、それらを「怠惰に」アンマウントする必要があります

umount -l /path/of/mount/point

編集1

正常に再起動する他の方法:

システムはCtrl+Alt+Delに応答しますか?

そうでない場合は、マジックSysRQキーコンボを試してください:Alt+SysRq+R+E+I+S+U+B。 Sysrq = PrintScreenボタン。 altキーとsysrqキーを押しながら、REISUBキーコンボを順番に入力します。基本的に、最初にすべてのプロセスを強制終了し、他のクリーンアップを実行して、再起動します。これは、カーネルでマジックsysrqが有効になっている場合にのみ機能します。ご参考までに:

R: Switch the keyboard from raw mode to XLATE mode
E: Send the SIGTERM signal to all processes except init
I: Send the SIGKILL signal to all processes except init
S: Sync all mounted filesystems
U: Remount all mounted filesystems in read-only mode
B: Immediately reboot the system, without unmounting partitions or syncing
1
Banjer