/bin/sh -version
GNU sh, version 1.14.7(1)
exitfn () {
# Resore signal handling for SIGINT
echo "exiting with trap" >> /tmp/logfile
rm -f /var/run/lockfile.pid # Growl at user,
exit # then exit script.
}
trap 'exitfn; exit' SIGINT SIGQUIT SIGTERM SIGKILL SIGHUP
上記は、シェルスクリプトでの私の機能です。
私はいくつかの特別な条件でそれを呼び出したい...次のような場合:
- このスクリプトのpidで「kill -9」が発生します
- -xモードで実行中に「ctrl + z」を押します
- スクリプトの実行中にサーバーが再起動します..
要するに、スクリプト内のあらゆる種類の割り込みで、何らかのアクションを実行する必要があります。rm -f /var/run/lockfile.pid
しかし、私の上記の機能は正しく機能していません。ターミナルを閉じるか、「ctrl + c」でのみ機能します
「bash / sh」バージョンのアップグレードはお勧めしません。