0
私は大きなbashスクリプトを実行していますが、何らかの理由でターミナルが閉じている(スクリプトを実行している)場合や、ネットワーク上の問題によりSSH接続が失われたり、上記のシナリオ。私は上記の理由でスクリプトが終了したというメッセージを記録したい。端末が突然終了するか、端末がネットワーク接続を失った場合のシェルスクリプトの処理方法は?
私は大きなbashスクリプトを実行していますが、何らかの理由でターミナルが閉じている(スクリプトを実行している)場合や、ネットワーク上の問題によりSSH接続が失われたり、上記のシナリオ。私は上記の理由でスクリプトが終了したというメッセージを記録したい。端末が突然終了するか、端末がネットワーク接続を失った場合のシェルスクリプトの処理方法は?
端末とネットワークの切断を避けるには、nohup
を使用してください。 man nohup
から:
NAME
nohup - run a command immune to hangups, with output to a non-tty
はCtrl +Cはもうユーザーのために使用することはできませんが、スクリプトはまだkill
で殺さすることができます。その後、trap
を使用して信号を捕捉します。
screen
またはtmux
を使用することもできます。
'CTRLCFUNCTION INT'をトラップしてCTRLCFUNCTION()を定義することができます(いくつかのアクションをエコーします)。 –
' screen'、https://www.gnu.org /software/screen/manual/screen.html – Inian
[Unix - Signals and Traps](https://www.tutorialspoint.com/unix/unix-signals-traps.htm) – 7171u