ここに実行中のスクリプトの他のインスタンスがある場合は、スクリプトから終了する素晴らしい小さなコードがあります。
single_instance(){
if pidof -x "${0##*/}" -o %PPID >/dev/null; then
exit 0
fi
}
しかし、私が探しているのは、スクリプトが実行されたときにのみ終了する関数です。同じパラメータで呼び出された。
ソリューションを通じてハッキングできることcat | grep | awk | cut | sed | tac | sort | uniq
を知っていますが。pidof
ps
あなたは何をしますか?
ベストアンサー1
次のことができます。
#!/bin/bash
single_instance() {
pid=$(pidof -x "${0##*/}" -o %PPID)
if [[ $(xargs -0 < /proc/$pid/cmdline) == $@ ]]
then
echo QUITTING
exit 1
fi
}
single_instance $(xargs -0 < /proc/$$/cmdline)
while :
do
sleep 10
done