crontab这个坑,执行单个命令执行成功,但是写到crontab怎么也不行

昨天开始,一直在弄通过定时任务控制熄屏,在终端下的单个命令可以执行成功,写到脚本里,单个执行脚本能成功,但是写到crontab定时任务,怎么也不熄屏,但他确实执行了,看日志,是一直报错的;百度了很多很多,基本上都是说环境变量的原因,然后试了又试,一直不行,下午在群里问了问,一位大哥给我一步一步分析,后来明白了:

crontab 执行任务是在系统里面执行,执行的时候是没有终端的;

我的想法是既然没有终端我就弄个终端给你执行这条熄屏命令:

*/ * * * * export DISPLAY=:0.0 ;gnome-terminal -x /bin/bash -c "xset dpms force off && exit  2>>/tmp/log"

export DISPLAY=:0.0   将环境变量设置为这个,才能打开终端

gnome-terminal:打开一个终端

gnome-terminal --maximize:打开一个终端后最大化

gnome-terminal --full-screen:打开一个终端后全屏

-c <string> 运行后面的字符串代表的命令或者脚本。分号表示依次执行多个命令

把自己遇到的问题写出来,当你看到的时候,也许会带来一点提示灵感啥的,嘿嘿

遇到问题一定要冷静,一步一步的排错,不能太着急,日志是一个很重要很重要的东西,原理也是一个很重要很重要的东西!!!

上一篇:UICollectionView设置首个cell默认选中(二)


下一篇:java定时器和多线程实践记录