我有一个 crontab 作业,如下所示:
*/5 * * * * /usr/bin/flock -w 0 /home/partners_perfluence_delivery/cron.lock cd /home/partners_perfluence_delivery && /usr/bin/python3 /home/partners_perfluence_delivery/main.py
Run Code Online (Sandbox Code Playgroud)
当我手动运行脚本时main.py,一切都很顺利。当我尝试使用 crontab 作业时,会创建锁定文件,但是当我寻找作业时,ps aux | grep main.py我在输出中看不到任何内容,并且main.py未发出使用的请求
我可能做错了什么?
flock在子进程中执行cd,然后在完成时释放锁。如果 Python 脚本需要在该目录中运行,则不会发生,因为该目录仅在子进程中更改。
您应该在同一个 shell 进程中使用执行cd和。pythonflock -c
*/5 * * * * /usr/bin/flock -w 0 /home/partners_perfluence_delivery/cron.lock -c 'cd /home/partners_perfluence_delivery && /usr/bin/python3 /home/partners_perfluence_delivery/main.py'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2368 次 |
| 最近记录: |