我的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脚本,但结果是一样的。
您有任何想法/建议吗?
由于
答案 0 :(得分:0)
当你这样做时:
cd /usr/bin/ &
你将命令发送到后台,即产生子shell并在其中运行cd
,原始shell的当前工作目录保持原样。
假设您的Python脚本中有某些内容依赖于/use/bin/
中可执行文件的相对路径,请删除&
:
cd /usr/bin/