crontab作业无法按预期工作,但手动调用

时间:2018-03-13 11:59:37

标签: python bash unix cron

我的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 &

在每次启动时,我都可以通过执行

来检查bar和baz是否正在运行
ps aux | grep python

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

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

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

您有任何想法/建议吗?

由于

1 个答案:

答案 0 :(得分:0)

当你这样做时:

cd /usr/bin/ &

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

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

cd /usr/bin/