私がこれを持っているとしましょう script.sh
#!/bin/bash
exit_script() {
echo "Printing something special!"
echo "Maybe executing other commands!"
kill -- -$$ # Sends SIGTERM to child/sub processes
}
echo "Some other text"
#other commands here
sleep infinity
受け取ったときにscript.sh
関数を実行したいまたは
例:exit_script
SIGINT
SIGTERM
killall script.sh # it will send SIGTERM to my script
スクリプトでこれを実行したい
exit_script() {
echo "Printing something special!"
echo "Maybe executing other commands!"
kill -- -$$ # Sends SIGTERM to child/sub processes
}
私はこの機能を使用して実装しようとしました trap
trap exit_script SIGINT SIGTERM
私の質問に答えた人が私を誤解した。
しかしtrap
、子/サブプロセスに送信されたシグナルにのみ反応するように見えるため、機能しませんでした。初心者としては、trap
manページを解読できなかったので、おそらく解決策を見逃しました。
あなたがそれらを送るとき、それはChromiumのような「本当の」プログラムがすることだと思います SIGTERM
https://major.io/2010/03/18/sigterm-vs-sigkill/から
アプリケーションは、SIGTERMを受信すると、何を実行するかを決定できます。ほとんどのアプリケーションはリソースをクリーンアップして停止しますが、そうでないアプリケーションもあります。