Bash 每隔x个时间间隔重复一次未终止的命令
我正在尝试在一段时间后运行命令。我找到了以下解决方案:Bash 每隔x个时间间隔重复一次未终止的命令,bash,Bash,我正在尝试在一段时间后运行命令。我找到了以下解决方案: watch -n60 command while true; do command; sleep 60; done 如果命令终止,它们工作正常(例如:echo“message”) 我正在运行的代码没有终止。这就是为什么这些解决方案对我不起作用。但我想运行它,在60秒后终止它,然后再次运行它。如何执行此操作?此操作每60秒启动一次命令,如果进程未终止,则终止进程: while true; do command &; LAST_PI
watch -n60 command
while true; do command; sleep 60; done
如果命令终止,它们工作正常(例如:echo“message”
)
我正在运行的代码没有终止。这就是为什么这些解决方案对我不起作用。但我想运行它,在60秒后终止它,然后再次运行它。如何执行此操作?此操作每60秒启动一次
命令,如果进程未终止,则终止进程:
while true; do command &; LAST_PID=$!; sleep 60; kill -9 $LAST_PID; done
使用
请注意,如果该命令在60秒结束前退出,它将立即重新执行,而不是等待一分钟结束。那么在运行1000次后会发生什么情况?没有一次终止?您有1000个进程仍在运行?你一定会杀死你的服务器/系统/任何东西。你真的应该重新考虑你想要/需要什么。@AleksG我想在经过一段时间后终止并重新启动它,commad:,而true;做命令&;睡眠60;完成
while true; do timeout 60 command; done