基本的に、私はこの美しさを実行しようとしています: su pi -c "crontab -l | { cat; echo "0 4 * * * pkill -f awesomeFile.py ; python /home/user/python/awesomeFile.py &"; } | crontab -"
毎晩午前4時にPythonサーバーを再起動したい。 これはcronジョブを正しくインストールしますが、コマンドは正しく実行されません。古いプロセスは終了しますが、新しいプロセスは開始されません。
助言がありますか?
回答:
回答№1は0たぶんcronはどこを知りません python
です。絶対パスで実行してみてください。 とともに which
コマンドを使用すると、Pythonの場所を取得できます。
$> which python
/usr/bin/python
回答№2の場合は0
私は死んだスレッドにコメントすることは嫌ですが、私はちょうどあなたのpkillがプロセスが死んでいることを確認せずにリターンするからです。-wタグをつけて、1秒に1回チェックしてkillが成功したかどうかを確認します。ポートを使用しているものを閉じることに頼っている将来のユーザーのために、新しいプロセスを試す前に、前のプロセスが終了するまで待ってください。