将C ++程序作为cronjob运行的问题

时间:2015-01-07 10:47:20

标签: php c++ linux bash cron

我遇到了一个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 /斌/庆典

我真的很感激一些帮助。

提前致谢,

1 个答案:

答案 0 :(得分:1)

您需要在C ++程序中指定mailDifference.phphpDownloadFeed.sh的绝对路径。