我想在.bashrc脚本文件中运行特定功能(实际上是在后台删除docker退出的容器)
我已经研究过cron,但是对我来说没有用,请提出其他建议。
我还尝试编写一个带有睡眠的while循环,这不是有效的方法,因为我们每次都启动它并停止它。
答案 0 :(得分:0)
首选是cron,但您也可以使用 at 。
这是一个小例子。脚本每分钟启动一次,每次运行loggt都进入logfile.dat
#!/bin/bash
echo "bash $0" | at now +1 minutes -M
date >> /tmp/logfile.dat
使用 atq ,您可以看到女巫工作正在等待下一次运行,而 atrm 您可以停止循环。
==> man at
答案 1 :(得分:0)
我也不一定认为这是个好主意,而是回答您提出的问题...
这是您应该能够适应的简单模板。
chime() {
local chimeDelay=10 # seconds, adjust to your needs
echo "bong!"; date; # code that Does The Thing
sleep $chimeDelay && chime & # snooze and Do The Thing again
} >/tmp/chimelog 2>/tmp/chime.err # logs, not your console
执行此操作后,只要您登录它就应该继续生成,但是应该在HUP上崩溃,我认为这是您想要的。如果您只想使用cron
替代项,则可以将其编写为带有HUP陷阱的简化守护程序并运行,但是您可能应该添加锁以防止多个实例运行等。