シェルスクリプトが実行中に中断された場合、 "rm -rf /etc/XXX.pid
"のようなコマンドを起動します。好きなように使うCTRL+C
ここで何をするのを手伝ってもらえますか?シェルスクリプトが中断されたときにコマンドを起動する方法は?
5
A
答えて
7
それはあなたがが捕捉することができますが、CTRL-Cは、少なくともそれらの、
まあ:-)トラップ信号に内蔵のtrap
bash
を使用することができ、多くのショックとして来るかもしれないが、通常INT
信号に関連付けられています。シグナルをトラップして任意のコードを実行できます。
次のスクリプトでは、テキストを入力して返信するように求められます。ひょっとする場合は、あなたがINT
信号を生成し、それは単にあなたと出口にうなり声:
#!/bin/bash
exitfn() {
trap SIGINT # Restore signal handling for SIGINT
echo; echo 'Aarghh!!' # Growl at user,
exit # then exit script.
}
trap "exitfn" INT # Set up SIGINT trap to call function.
read -p "What? " # Ask user for input.
echo "You said: $REPLY"
trap SIGINT # Restore signal handling to previous before exit.
試運転転写物は、(完全に入力されたライン、任意のエントリの前にCTRL-Cを押すと行、および行を次のCTRL-Cを押す前の部分入力):
pax> ./testprog.sh
What? hello there
You said: hello there
pax> ./testprog.sh
What? ^C
Aarghh!!
pax> ./qq.sh
What? incomplete line being entere... ^C
Aarghh!!
3
trap
は、Ctrl-Cを押したときに生成されるSIGINT
を含むスクリプト内の信号を捕捉するために使用されます。
関連する問題
- 1. アプリケーションの起動後に中断されたバッチジョブを続行する方法
- 2. 中断されたheroku dbを再起動する:pull
- 3. WPFスレッドとカスタムPowershellホスト - ユーザーがコマンドを中断したためにコマンド実行が中止されました
- 4. フラスコ開発サーバを起動するときにシェルスクリプト/コマンドを実行する
- 5. Android:onResumeで中断されたスレッドを再起動
- 6. 通知がクリックされたときにアクティビティを起動する方法は?
- 7. ページがリロードされているときにループを中断する方法
- 8. ユーザーがホームボタンを押したときに中断されたメソッド?
- 9. 画面が起動するかロックボタンが押されたときにカメラを起動する方法
- 10. SimPyでネストされたプロセスを中断する方法は?
- 11. ゲームが開始または中断されたときに追加ビューを実装する方法
- 12. シェルスクリプト内のカスタムスクリプト拡張に「実行されたコマンド」とマークする方法
- 13. 最初のコマンドが中断されたときの最初のコマンドの終了に依存する2番目のコマンドの実行方法
- 14. 中断されたコマンドをzshで回復する
- 15. window.locationが変更されたときに中断しますか?
- 16. アクティビティがアンドロイドで開始されたときにソフトキーを起動する方法
- 17. Phonegap、Navbarボタンがクリックされたときに関数を起動する方法
- 18. アラートがポップアップされたときにactivityindicatorを起動する方法
- 19. ブルートゥースが切断されたときを知る方法
- 20. 1分後にlinuxでシェルスクリプトを起動する方法は?
- 21. 起動時にバックグラウンドでシェルスクリプトを実行する方法は?
- 22. socket.ioでソケットが切断されたときにクライアントをリダイレクトする方法は?
- 23. Firebug - ページがロードされたときにJSデバッグモードで起動する方法
- 24. Twitter.framework - twitterdセッション中断中、再起動
- 25. 「例外がスローされたときに中断する」を変更する方法
- 26. EINTR(中断されたシステムコール)を処理する方法
- 27. ネストされたループを1つだけ中断する方法
- 28. 公開されたフローを中断する方法
- 29. イメージ内の中断された行を修復する方法
- 30. UIWebViewモーダルビューが削除されたときを判断する方法は?
+1これは、スクリプトをチェーンする論理演算子を提案しようとしていました。 – slezica