crontab这个坑,执行单个命令执行成功,但是写到crontab怎么也不行
2016-12-02 19:46
344 查看
昨天开始,一直在弄通过定时任务控制熄屏,在终端下的单个命令可以执行成功,写到脚本里,单个执行脚本能成功,但是写到crontab定时任务,怎么也不熄屏,但他确实执行了,看日志,是一直报错的;百度了很多很多,基本上都是说环境变量的原因,然后试了又试,一直不行,下午在群里问了问,一位大哥给我一步一步分析,后来明白了:
crontab 执行任务是在系统里面执行,执行的时候是没有终端的;
我的想法是既然没有终端我就弄个终端给你执行这条熄屏命令:
export DISPLAY=:0.0 将环境变量设置为这个,才能打开终端
gnome-terminal:打开一个终端
gnome-terminal --maximize:打开一个终端后最大化
gnome-terminal --full-screen:打开一个终端后全屏
-c <string> 运行后面的字符串代表的命令或者脚本。分号表示依次执行多个命令
把自己遇到的问题写出来,当你看到的时候,也许会带来一点提示灵感啥的,嘿嘿
遇到问题一定要冷静,一步一步的排错,不能太着急,日志是一个很重要很重要的东西,原理也是一个很重要很重要的东西!!!
crontab 执行任务是在系统里面执行,执行的时候是没有终端的;
我的想法是既然没有终端我就弄个终端给你执行这条熄屏命令:
*/1 * * * * 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> 运行后面的字符串代表的命令或者脚本。分号表示依次执行多个命令
把自己遇到的问题写出来,当你看到的时候,也许会带来一点提示灵感啥的,嘿嘿
遇到问题一定要冷静,一步一步的排错,不能太着急,日志是一个很重要很重要的东西,原理也是一个很重要很重要的东西!!!
相关文章推荐
- linux/unix/centos下直接执行脚本可以成功,但是放在crontab里面就不行~解释如下
- hbase安装启动成功,但是执行命令报错
- JavaScript某行代码执行的时候,用到了某个变量,但是这个变量根本找不到在哪里定义了(或者说看上去根本没有定义过)是怎么回事,是怎么执行的?
- 手动运行脚本执行正常而放入crontab调用hadoop命令没有执行成功
- Python脚本在crontab定时任务中无法运行,但是对应脚本手动执行成功
- Crontab执行命令失败 手工执行成功
- linux 使用crontab添加定时任务,日志显示已经执行但是任务没有成功调用解决方法
- crontab的定时任务不能自动执行,但是手动执行脚本一直能成功
- phpMyAdmin执行成功,但是mysql命令source导入失败: Data too long for column
- crontab执行失败,但是手动执行成功原因
- Linux定时执行任务命令概述:at和crontab
- unix定时执行命令:crontab
- Linux 定时执行命令 crontab
- 后台执行命令 crontab
- crontab执行的文件中含有sqlplus命令的处理
- 71、shell中crontab中执行命令的特殊性,/bin/sh
- 错误笔记:在OleDb执行下Access ,程序不报错,但是Update也更新不成功的
- 错误笔记:在OleDb执行下Access ,程序不报错,但是Update也更新不成功的
- SSH集成后HibernateTemplate的save方法执行成功但是不持久化到数据库的问题解决办法
- [有问有答] 我的debian没有mcopy这个命令。怎么办?