私は現在経験していることです。Ubuntu 13.10のバグこれは、一時停止後にコンピュータを再起動すると、ネットワーク接続が再起動しないことを意味します。複数のNFSマウントがあり、静止しているため、コマンドラインから何かを実行しようとするたびに(このバグレポートの回避策など)、シェルはハングしますnmcli cli sleep false
。 「停止」とは、どの信号(Ctrl-C、Ctrl-Z、killなど)にも応答しないという意味です。
絶対パス(たとえば/usr/bin/nmcli
)を使用すると、期待どおりに機能します。ネットワーク接続を復元すると、停止したすべてのプロセスが再開され、実行が完了します。
なぜこのようなことが起こるのか混乱しています。現在疑われているのは、bashがNFSマウントディレクトリの1つで私が実行したいコマンドを検索しようとしていることです。ただし、鉱山にはPATH
NFSマウントディレクトリは含まれていません。
だから私の質問は2つです。シェルがこのように停止するのはなぜですか。どうすれば停止できますか?
ベストアンサー1
私の経験によると、LinuxのNFS実装はSolarisのNFS実装ほど強力ではありません。特に、Linux の NFS によってデバイスのプロセスが中断される可能性があるため、一部のプロセスが次の状態で表示されることがあります。
[pkearns@centos6 ~]$ ps -lp $$
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 D 500 2626 2307 0 80 0 - 1282 - pts/1 00:00:00 bash
[pkearns@centos6 ~]$
2番目の列は、D
プロセスがデバイスで停止したことを示します。デバイスの停止は予測不可能な方法でシステム全体に伝播し、関連性がないように見えるプロセスを妨げる可能性があります。
この試み:
ps -elf | awk '$2=="D"'
これにより、デバイスに保留中のプロセスが表示されます。