同じUnixスクリプトを実行する前に、スクリプトの古いインスタンスを終了してください。

同じUnixスクリプトを実行する前に、スクリプトの古いインスタンスを終了してください。

再実行したいシェルスクリプトに属するバックグラウンドプロセスを終了したいと思います。

これは、シェルスクリプトを実行する前に実行中のバックグラウンドプロセスを削除したいことを意味します。同じスクリプト。

ベストアンサー1

同じスクリプトにPIDが存在することを確認してください。

スクリプトの先頭に以下を追加します。

#!/bin/bash
script_name=${BASH_SOURCE[0]}
for pid in $(pidof -x $script_name); do
    if [ $pid != $$ ]; then
        kill -9 $pid
    fi 
done

おすすめ記事