我编写了一个 chrome 扩展程序,只要可用,它就会执行一项任务,为此,我需要始终打开 chrome 浏览器。我的想法是每分钟检查一次 google 进程是否正在运行,如果没有,则启动 chrome。我已在用户 crontab 中添加了以下内容(我运行的是 Ubuntu 14.04)
* * * * * export DISPLAY=:0 && if ! ps aux | grep -q "[c]hrome"; then google-chrome; fi
但是似乎什么都没有运行,我错过了什么吗?
答案1
cronjob 所能获得的环境非常有限。例如,您无法获得打开 chrome 所需的 DISPLAY 变量。
而不是google-chrome
使用/opt/google/chrome/chrome
答案2
这种用户 crontab 条目的主要问题是它需要 bash 才能运行。
因此,最简单的方法是创建一个类似的小型 bash 脚本/home/dylanfa88/keep-chrome-running
,并将其放入您的用户 crontab 中。
* * * * * /bin/bash /home/dylanfa88/keep-chrome-running