问题描述
|
我有一个cpp程序,可以在命令行中以ok身份运行(以root身份运行),但不能从crontab中正常运行。我认为可能是因为crontab不是以root身份运行。
我试过了:
1. crontab -eu root
* * * * * /usr/bin/convertPremium.o
2. crontab -eu root
* * * * * root /usr/bin/convertPremium.o
3. crontab -e
* * * * * root /usr/bin/convertPremium.o
4. crontab -e
* * * * * /usr/bin/convertPremium.o
5. crontab -e
* * * * * sudo /usr/bin/convertPremium.o
但是对我没有任何作用。
第2,3和5节甚至根本没有运行该程序。
1和4运行该程序,但没有生成某些cmd,我认为因为它不是root运行它
使用UNIX。希望能有所帮助。
解决方法
Premium.o似乎是一个目标文件。您无法执行目标文件。
假设1是错误的做法,而是改用了奇怪的命名约定,
您必须在crontab条目的一行中指定root用户环境中设置的所有内容:
。 / etc / profile && /path/to/Premium.o
这只是您需要指定的猜测。
另外,您是否确实知道cron条目(当它起作用时)每天都会运行?您可以使用更友好的at命令,并使其在指定时间运行一次。否则您需要阅读
,不,我通过将crontab执行输出到日志文件来解决问题。
通过这种方式,我看到在运行ffmpeg -i ...行时,由于路径的缘故,该ffmpeg是未知的。