2017-02-28 9 views
0

私は大きなbashスクリプトを実行していますが、何らかの理由でターミナルが閉じている(スクリプトを実行している)場合や、ネットワーク上の問題によりSSH接続が失われたり、上記のシナリオ。私は上記の理由でスクリプトが終了したというメッセージを記録したい。端末が突然終了するか、端末がネットワーク接続を失った場合のシェルスクリプトの処理方法は?

+0

'CTRLCFUNCTION INT'をトラップしてCTRLCFUNCTION()を定義することができます(いくつかのアクションをエコーし​​ます)。 –

+0

' screen'、https://www.gnu.org /software/screen/manual/screen.html – Inian

+0

[Unix - Signals and Traps](https://www.tutorialspoint.com/unix/unix-signals-traps.htm) – 7171u

答えて

0

端末とネットワークの切断を避けるには、nohupを使用してください。 man nohupから:

NAME 
    nohup - run a command immune to hangups, with output to a non-tty 

はCtrl +Cはもうユーザーのために使用することはできませんが、スクリプトはまだkillで殺さすることができます。その後、trapを使用して信号を捕捉します。

screenまたはtmuxを使用することもできます。

関連する問題