通过cromtab打开终端窗口失败

zizi7 2017-05-24 08:06:41
LZ需要监听一个进程,如果没有则打开终端开启进程(咱先不讨论这个方法笨不笨)

1)crontab
*/3 * * * * sh /home/name/auto.sh

2) auto.sh

#!/usr/bin/sh
nginx_state=`top -n 5 | grep nginx`
if [ "$nginx_state" = "" ];then
lxterminal -e "sh /home/name/nginx.sh"
fi


手动执行auto.sh可以打开lxterminal,执行nginx.sh
但定时任务会进入if,不执行lxterminal指令

请问这是什么原因?
没有分了见谅!
...全文
133 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 1 楼 q3733353520 的回复:
没有log信息吗,我觉得肯定是执行了,只是某些原因导致不成功(权限?服务没起来?)等等
你可以改一下.sh 把标准输出和标准出错都放到一个log文件,然后再去看看发生了什么
  • 打赏
  • 举报
回复
没有log信息吗,我觉得肯定是执行了,只是某些原因导致不成功(权限?服务没起来?)等等
zizi7 2017-05-25
  • 打赏
  • 举报
回复
引用 2 楼 q3733353520 的回复:
[quote=引用 1 楼 q3733353520 的回复:] 没有log信息吗,我觉得肯定是执行了,只是某些原因导致不成功(权限?服务没起来?)等等
你可以改一下.sh 把标准输出和标准出错都放到一个log文件,然后再去看看发生了什么[/quote] 谢谢你!我已经找到问题了:cron 不知道当前的显示设备,在脚本前面加一句 export DISPLAY=:0.0 就可以了 参考这里:https://askubuntu.com/questions/202873/cron-cannot-run-gnome-terminal

427

社区成员

发帖
与我相关
我的任务
社区描述
非技术问题的乐园
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧