这是一个冗长的头衔。但它解释了我的问题:
我有一个运行perl脚本的crontab。
perl脚本运行一个cap任务,它向STDOUT输出一些状态消息。
perl脚本应该从cap捕获STDOUT(当前使用反引号)并解析它。
现在,当我从bash用户运行脚本时,这可以100%正常工作。但是,当我从crontab运行脚本时,perl脚本不会捕获cap任务的任何输出。
之前有没有人处理过类似的事情?感谢。
答案 0 :(得分:1)
也许你的cap可执行文件已经死亡而没有向stdout发送任何消息。您是否检查了执行的成功状态?
你能尝试一下吗?
$check_result = `$cmd 2>&1`;
if ($?){
die "$cmd failed with $check_result, $!";
}