CTRL+X または CTRL+C で中断された場合、bash スクリプトの実行を続行する

CTRL+X または CTRL+C で中断された場合、bash スクリプトの実行を続行する

私はこれが非常に愚かな質問だと思い、ここで質問しないように最善を尽くしましたが、インターネット全体のどこにも答えが見つかりませんでした。

引き続き私に反対投票してください。しかし、答えてください。CTRL+X または CTRL+C で中断された場合、長期実行 bash スクリプトをどのように実行しますか?

  • コマンドを実行してCTRL + X / CTRL + Cを介して端末を解放したいと思います。$ sh myscript.shスクリプトは、次の10〜20分間必要に応じて実行し続ける必要があります。

  • PHPスクリプトを実行し、CTRL + X / CTRL + Cを介して端末を解放したいと思います。$ php /path/to/myphpscript.phpスクリプトは、次の2時間必要に応じて実行し続ける必要があります。

それを持つ方法?

Cronjobは私にとって解決策ではありません。

答え1

一度あなたの業務終了CTRL+を使用するとC終了するため、死んだ作業に引き続き元の場所から続行するように指示することはできません。

正しい用語は、タスクをバックグラウンドで実行することです。事前に行うことができます。

 ./script &

これを次のように組み合わせることができますnohup

 nohup ./script &

スクリプトがすでに実行されている場合は、次のことができます。フォアグラウンドジョブの一時停止+バックグラウンドで続行するように指示CTRLします。Zbg

この章にはさらに内容があります。職業管理 bashのマニュアルから。

答え2

画面ユーティリティを使用できます。マニュアルページから:

説明Screenは、複数のプロセス(通常は対話型シェル)間で物理端末を多重化するフルスクリーンウィンドウマネージャです。

関連情報