2017-02-22 66 views
2

我在亞馬遜EC2 AMI的linux的cron此命令(CentOS的),例如:不能執行從cron調用時GNU平行的,但在命令行工作

10 9 * * * php -f /var/scripts/schtask/schtask.php 

這個程序中,它運行這個

parallel -j-1 < /var/scripts/_working_files/schtask/schtask/_output/micros_schtask__2017-02-22__09.10.01__4ec2d995fd6fb5e7c866e13502714f36.txt 

我得到的返回代碼:

127 

當這封使用exec()函數調用gnu parallel線xecutes。我不能在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調用時不能運行?

謝謝!

回答

2

我認爲你的php命令沒有被發現。運行which php並替換它。

它可能看起來像這樣:/usr/bin/php

10 9 * * * /usr/bin/php -f /var/scripts/schtask/schtask.php 


同樣做到這一點與parallel

+0

我添加了完整路徑並修復了它。謝謝!! – raphael75