【发布时间】:2015-05-07 10:33:17
【问题描述】:
我想在程序崩溃时自动启动(检查进程是否存在,如果不存在则重新启动它),所以使用crontab是一个简单的解决方案,但是
我使用 crontab -e 或在 /etc/crontab 文件中创建了一个简单的 crontab 任务,如下所示:
* * * * * /usr/bin/gnome-terminal
它不起作用,它永远不会启动 gnome-terminal,我可以看到它在 /var/log/syslog (Ubuntu) 或 /var/log/cron (CentOS) 中执行任务,gnome 终端永远不会出现起来。
如果你说由于 gnome-terminal 是一个 gui 程序,那么这个创建蓝牙服务的脚本也不会工作:
使用crontab -e 或/etc/crontab:
* * * * * /home/username/run-bt
运行-BT:
#!/bin/sh
# find bt pid
/usr/bin/pgrep bluetoothd
# if not running
if [ $? -ne 0 ]
then
/usr/sbin/service bluetooth restart
fi⏎
我已经使run-bt 脚本可执行,但是即使我手动停止蓝牙服务,蓝牙服务也不会启动。
但是这个:
* * * * * /bin/ls > /tmp/ls.output
按预期工作。
怎么了?
【问题讨论】: