我有一个启动java程序的cron作业。 这个java程序启动了一些其他程序(例如“youtube-dl”)。 java程序使用Process,Runtime等...(使用多个网站上的代码) 它还有一个process.waitFor(); 但java程序存在而没有等待。 java程序退出并使用它也会杀死youtube-dl进程(子进程)。
从命令行(而不是从cron)运行时相同的java程序运行正常(我能够看到youtube-dl作为进程列表的一部分)。 在这里粘贴代码时遇到问题(由于格式化) 在此处粘贴代码http://pastebin.com/RUgubDZ9
这是日志......
Tue Mar 17 19:01:06 UTC 2015 : youtube-dl is not running. launching now...
Tue Mar 17 19:02:06 UTC 2015 : youtube-dl is not running. launching now...
Tue Mar 17 19:04:58 UTC 2015 : youtube-dl is not running. launching now...
答案 0 :(得分:0)
cron脚本没有为youtube-dl执行(但是对于涉及wget的相同脚本工作正常)。 原因可能是因为wget已经在raspbian中可用了,youtube-dl是由我手动安装的。
即使wget和youtube-dl在用户启动的任何脚本中都能正常工作,但是当由cron触发时,youtube-dl脚本会失败。
我改变了youtube-dl的调用方式。
早些时候是
youtube-dl https://www.youtube.com/watch?v=RhIfQ-IhhPM
现在将其修改为
python / usr / local / bin / youtube-dl https://www.youtube.com/watch?v=RhIfQ-IhhPM
这完全适用于cron。
现在,我没有必要从Java启动整个事情。 Shell脚本会做......