逆引きシェルスクリプト/Ctrl+Cを押された時、終了処理を実行したい
の編集
Top
/
逆引きシェルスクリプト
/
Ctrl+Cを押された時、終了処理を実行したい
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
#navi(../) * Ctrl+Cを押された時、終了処理を実行したい [#fbe43d60] Ctrl+Cを押されると、その時点でプログラムが終了してしまうため、例えばワークファイルなどが残ってしまいます。~ しかし、trapコマンドを利用することによりCtrl+Cが押された後の処理を記述することができます。~ trapについては、[[逆引きシェルスクリプト/シグナルを受ける方法]]でも記述しています。 #br #htmlinsertpcsp(linux_ads_top.html,linux-sp.html) ** サンプルスクリプト [#aa242a14] #ref(interrupt.sh) 以下のサンプルスクリプトは/tmpにinterrupt.tmpファイルを作成し、sleep1の無限ループをしています。~ Ctrl+Cを押すことにより、final関数が呼びだされinterrupt.tmpを削除し終了します。 #!/bin/bash trap "final; exit 1" 2 function final { echo "Ctrl+C pushed." rm -f /tmp/interrupt.tmp } touch /tmp/interrupt.tmp while : do sleep 1 done #br #htmlinsertpcsp(linux_ads_btm.html,linux-sp.html) #br
タイムスタンプを変更しない
#navi(../) * Ctrl+Cを押された時、終了処理を実行したい [#fbe43d60] Ctrl+Cを押されると、その時点でプログラムが終了してしまうため、例えばワークファイルなどが残ってしまいます。~ しかし、trapコマンドを利用することによりCtrl+Cが押された後の処理を記述することができます。~ trapについては、[[逆引きシェルスクリプト/シグナルを受ける方法]]でも記述しています。 #br #htmlinsertpcsp(linux_ads_top.html,linux-sp.html) ** サンプルスクリプト [#aa242a14] #ref(interrupt.sh) 以下のサンプルスクリプトは/tmpにinterrupt.tmpファイルを作成し、sleep1の無限ループをしています。~ Ctrl+Cを押すことにより、final関数が呼びだされinterrupt.tmpを削除し終了します。 #!/bin/bash trap "final; exit 1" 2 function final { echo "Ctrl+C pushed." rm -f /tmp/interrupt.tmp } touch /tmp/interrupt.tmp while : do sleep 1 done #br #htmlinsertpcsp(linux_ads_btm.html,linux-sp.html) #br
テキスト整形のルールを表示する
添付ファイル:
interrupt.sh
401件
[
詳細
]