bashで、control-zを使用してプロセスを一時停止した場合の潜在的な悪影響は何ですか?


11

bashを使用すると、でプロセスを一時停止できますcontrol-z。ただし、一時停止するとプロセスが適切に動作しない場合に注意すべき一般的な状況やガイドラインはありますか?

私の具体的なシナリオは、予想よりも時間がかかっていたtarファイルを作成することでした。一時停止してバックグラウンドに置きたかったのですが、止めないことにしました。もちろん、私の質問はtarに固有のものではありません。むしろ、bashの一時停止機能と、プロセスが一時停止された場合の反応が悪くなる原因について少し理解したいと思っています。

回答:


3

アトミックコピーに依存するストレージタスク(pvmove、veritas vx-whatever)。彼らが彼らの支配の外で動けなくなるのは良くない。タスクが一部のAPIを起動し、残りをカーネルスペースから実行するかどうかによって異なりますが、安全です。シェルのその「プロセス」でそれが起こっている場合は、実際に画面に行き、手を離してください。

絶対にバックグラウンドで停止しないことをお勧めします。上記のテープドライブを除いて、ddのようなバッファを使用するコマンドの方が適しているようです。

(私はかつて他の人の混乱を片付けている間に私に起こったとき、追加の再起動、より少ない睡眠と多くのパラノイアを獲得しました。明らかに:他の人のショートカットを修正している場合はショートカットをとらないでください...)


6

プロセスがデータを書き出す場合は、非ランダムアクセスデバイスとバッファーのタイミングの問題が問題になる可能性があることに注意してください。テープドライブでこれに問題が発生することがあります。


TCP / SYNが再送信されていないため、ネットワーク/ファイアウォールセッションがタイムアウトして再起動しない場合があります。
ジッピー

TCPスタックは、ウィンドウがいっぱいであることを示すACKを送信し続けますよね?
マゼラン

キープアライブパケットは、TCPまたはIPプロトコルの一部ではなく、アプリケーションの一部です。そのため、ファイアウォールまたはリモートクライアントまたはサーバーは、パケットの待機中にタイムアウトし、ソケット/接続をドロップする場合があります。
ジッピー

キープアライブといえば、これらは明らかにアプリケーションレベルです。トランスポートレベルでのTCPスライディングウィンドウのACKについて話しています。
マゼラン

2

そして平凡なシナリオ:Ctrl-Zを実行し、それを忘れてログオフし、プロセスを失う!=)


0

質問に対する具体的な回答ではありませんが、を使用して同時実行ジョブを実行することもできますscreen。したがって、シェルを別のプログラムと同時に使用できます。


はい、画面は常に良い方法です。しかし、あなたの名前にどのように対応するかはわかりません。
ウェズリー

@toiletfreak画面は一時停止に代わるものですか?画面はバックグラウンドでジョブを実行しますよね?しかし、画面を切り離しても継続します...
Bernhard
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.