从 cron 调用时无法执行 gnu parallel,但可以从命令行运行
can't execute gnu parallel when called from cron, but works from command line
我在 Amazon EC2 ami linux (centos) 实例的 cron 中有这个命令:
10 9 * * * php -f /var/scripts/schtask/schtask.php
在此程序中,运行这一行使用 exec() 函数调用 gnu parallel:
parallel -j-1 < /var/scripts/_working_files/schtask/schtask/_output/micros_schtask__2017-02-22__09.10.01__4ec2d995fd6fb5e7c866e13502714f36.txt
我得到一个 return 代码:
127
执行时。我在 gnu 并行退出状态列表中找不到这个错误:
https://www.gnu.org/software/parallel/man.html#EXIT-STATUS
文本文件的内容类似于:
#comment 1
#comment 2
php -f /var/scripts/micros/scripts/micros.php /store_list:"s1"
php -f /var/scripts/micros/scripts/micros.php /store_list:"s2"
php -f /var/scripts/micros/scripts/micros.php /store_list:"s3"
但是,如果我 运行:
parallel -j-1 < /var/scripts/_working_files/schtask/schtask/_output/micros_schtask__2017-02-22__09.10.01__4ec2d995fd6fb5e7c866e13502714f36.sh
直接在命令行上,有效。该退出代码是什么意思,为什么从 cron 调用时它不会 运行?
谢谢!
我想你的 php
命令没有找到。 运行 which php
并替换它。
它可能看起来像这样:/usr/bin/php
.
10 9 * * * /usr/bin/php -f /var/scripts/schtask/schtask.php
也可以使用 parallel
.
我在 Amazon EC2 ami linux (centos) 实例的 cron 中有这个命令:
10 9 * * * php -f /var/scripts/schtask/schtask.php
在此程序中,运行这一行使用 exec() 函数调用 gnu parallel:
parallel -j-1 < /var/scripts/_working_files/schtask/schtask/_output/micros_schtask__2017-02-22__09.10.01__4ec2d995fd6fb5e7c866e13502714f36.txt
我得到一个 return 代码:
127
执行时。我在 gnu 并行退出状态列表中找不到这个错误:
https://www.gnu.org/software/parallel/man.html#EXIT-STATUS
文本文件的内容类似于:
#comment 1
#comment 2
php -f /var/scripts/micros/scripts/micros.php /store_list:"s1"
php -f /var/scripts/micros/scripts/micros.php /store_list:"s2"
php -f /var/scripts/micros/scripts/micros.php /store_list:"s3"
但是,如果我 运行:
parallel -j-1 < /var/scripts/_working_files/schtask/schtask/_output/micros_schtask__2017-02-22__09.10.01__4ec2d995fd6fb5e7c866e13502714f36.sh
直接在命令行上,有效。该退出代码是什么意思,为什么从 cron 调用时它不会 运行?
谢谢!
我想你的 php
命令没有找到。 运行 which php
并替换它。
它可能看起来像这样:/usr/bin/php
.
10 9 * * * /usr/bin/php -f /var/scripts/schtask/schtask.php
也可以使用 parallel
.