/ / cron-bash、shell、cron、crontabの1行で複数のコマンドを実行する

cron-bash、shell、cron、crontabの1行に複数のコマンドがあります

基本的に、私はこの美しさを実行しようとしています: 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が成功したかどうかを確認します。ポートを使用しているものを閉じることに頼っている将来のユーザーのために、新しいプロセスを試す前に、前のプロセスが終了するまで待ってください。