我最近开始了一个简单的项目,只是为了帮助我更好地学习BASH脚本语言。无论如何,此脚本设置为以给定间隔交替/旋转用户的桌面背景/壁纸。
鉴于此任务最有可能每30分钟到1小时完成一次,我该怎么做呢。 30分钟/ 1小时计时器效率非常低吗?或者,cronjobs可以为我做得更好吗?
另外,我怎么能让这个脚本在后台运行,这样终端窗口并不总是需要打开?
如果可以,您是否可以在语法中提供某种想法。
答案 0 :(得分:1)
这对cron
来说是一个合适的工作。 cron
会定期调用脚本。然后,当脚本运行并管理在后台运行的脚本时,您不必担心脚本。
在后台运行会非常有用,因为脚本不需要做太多 - 只需更改当前的桌面设置即可。通常,脚本只需要一小段时间就可以完成任务。
cron
条目有六个字段 - :
mins hours day month day-of-week path_to_command
0-59 0-23 1-31 1-12 0-6 command
days of the week start on Sunday. 0=Sunday, 1=Monday etc.
所有日期和月份每小时运行脚本的 cron
条目 - :
0 * * * * /path/change_wallpaper.sh
列出您当前的cron
个工作,输入
crontab -l
编辑你的cron作业并添加新的cron条目 - :
crontab -e
检查新设置是否已就位 - :
crontab -l
答案 1 :(得分:0)
另外,我怎么能让这个脚本在后台运行,这样终端窗口并不总是需要打开?
那将是daemon。而且没有必要自己编写。如果你想要pidfile,start
| stop
| restart
等,那么bash有点乏味。只需添加一个新的cronjob,它将每n
执行你的脚本分钟什么的。
编辑您的cronjobs
crontab -e
每30分钟执行一次脚本(与30
不同,每hh:30
执行一次!)
*/30 * * * * /path/to/your/script
重启cron。怎么取决于发行版,这里是Ubuntu:
service cron restart
列出cronjobs:
crontab -l
答案 2 :(得分:0)
我会亲自使用以下crontab运行脚本:
0 * * * * $HOME/changewallpaper.sh
您可以使用此命令以用户身份安装
crontab -e
其他解决方案包括从文件〜/ .xprofile
运行守护程序脚本有关详细信息,请参阅
man crontab
man 5 crontab
同时查看此项目Variety。