0
/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

上記は、シェルスクリプトでの私の機能です。

私はいくつかの特別な条件でそれを呼び出したい...次のような場合:

  1. このスクリプトのpidで「kill -9」が発生します
  2. -xモードで実行中に「ctrl + z」を押します
  3. スクリプトの実行中にサーバーが再起動します..

要するに、スクリプト内のあらゆる種類の割り込みで、何らかのアクションを実行する必要があります。rm -f /var/run/lockfile.pid しかし、私の上記の機能は正しく機能していません。ターミナルを閉じるか、「ctrl + c」でのみ機能します

「bash / sh」バージョンのアップグレードはお勧めしません。

4

2 に答える 2