私はPythonプログラムを作成しており、bashスクリプトで起動する予定です。ただし、コンピューターがプログラムを 2 回実行しようとすると、プログラムが正常に動作しません。プログラムを一度だけ起動すればよいので、プログラムがすでに実行されているかどうかはどうすればわかりますか?
ベストアンサー1
1つの方法はPythonプロセスのPIDを記録し、/var/run
bashスクリプトはそのPIDを持つファイルが存在し、そのPIDに対してまだ実行されていることを確認できます。
もう1つの可能性は、pgrep
プロセスが実行されているかどうか、名前に固有の部分があるかどうかを確認することです(Pythonは使用するには一般的ですが、pyスクリプト自体は機能する可能性があります)。たとえば、
if pgrep -f "python yourScript.py" &>/dev/null; then
echo "it is already running"
exit
else
python yourScript.py
fi
yourScript.py
それが自分自身を悪魔化したり、それに似ていると仮定します。