crontab 作业未按预期工作,但手动调用可正常工作



我的crontab作业有问题。我调用一个 bash 脚本,该脚本启动两个与一个应用程序交互的 python 脚本(两者都不会终止(。

@reboot /bin/sh /home/user/path/to/bash_script/foo.sh

在我的 foo.sh 文件中,我调用了两个python脚本。

#!/bin/bash
cd /usr/bin/ &
python /home/user/path/to/python_script1/bar.py & 
python /home/user/path/to/python_script2/baz.py &

在每次启动时,我都可以通过执行以下命令检查酒吧和 baz 是否正在运行

ps aux | grep python

但是当我打开应用程序时,第二个python脚本(baz(没有按预期工作

如果我手动调用 foo.sh,应用程序上的所有内容都按预期工作

我已经尝试了几种方法,例如在 crontab 上调用 python 脚本,但结果是一样的。

你有什么想法/建议吗?

谢谢

当你这样做时:

cd /usr/bin/ &

您将命令发送到后台,即生成一个子 shell 并在其中运行cd,原始 shell 的当前工作目录保持原样。

假设您的 Python 脚本中有一些依赖于 /use/bin/ 中可执行文件的相对路径的内容,请删除&

cd /usr/bin/

最新更新