我尝试作为cronjob运行的C++程序遇到了问题,我一直在尝试各种事情,除了在网上寻找解决方案一整天。
该程序在从命令提示符运行时可以完美运行,并且确实作为 cronjob 运行,但在执行从程序内运行的其他脚本时存在一些问题。
我认为这与找不到bash和php的事实有关,因为我收到以下错误:
/usr/bin/bash: ./hpDownloadFeed.sh: 没有这样的文件或目录
无法打开输入文件:邮件差异.php
这些文件在作为 cronjob 运行的C++程序中调用,称为:
* */1 * * */绝对/路径/到/文件
对C++文件中文件的调用如下所示:
system("/usr/bin/bash -c ./hpDownloadFeed.sh");
string phpCommand = "/usr/bin/php -f mailDifference.php " + sizeDifference + ' ' + sizeTotal + ' ' + negative ;
std::system(phpCommand.c_str());
当我做哪个php/bash时,我得到:
/usr/bin/bash 和/usr/bin/php
我还根据在线某人的建议将以下内容添加到 crontab 的顶部。
ATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
也在我放的bash/php文件的顶部
#!/usr/bin/php
#!/usr/bin/bash
我真的很感激一些帮助。
提前感谢,
反
指定C++程序中mailDifference.php
和hpDownloadFeed.sh
的绝对路径。