我遇到了一个C ++程序的问题,我尝试以cronjob的形式运行,而且我一直在尝试各种各样的事情,然后在线寻找一整天的解决方案。
程序在从命令提示符运行时运行完美,并且它确实作为cronjob运行,但它在执行从程序中运行的其他脚本时遇到一些问题。
我认为这与bash和php无法找到的事实有关,因为我收到以下错误:
/ usr / bin / bash:./ hpDownloadFeed.sh:没有这样的文件或目录
无法打开输入文件:mailDifference.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 /斌/庆典
我真的很感激一些帮助。
提前致谢,
反
答案 0 :(得分:1)
您需要在C ++程序中指定mailDifference.php
和hpDownloadFeed.sh
的绝对路径。