要重复启动和终止一个永不结束的bash进程,可以使用以下方法:
while true; do
# 启动需要执行的命令或进程
your_command_here
done
在上述代码中,your_command_here
代表需要执行的命令或进程。
while true; do
# 启动需要执行的命令或进程,并将其放在后台运行
your_command_here &
# 等待一段时间
sleep 1
# 终止之前启动的命令或进程
kill %1
done
在上述代码中,your_command_here
代表需要执行的命令或进程,sleep 1
表示等待1秒,kill %1
表示终止之前启动的命令或进程。
#!/bin/bash
# 定义信号处理函数
function cleanup {
# 终止之前启动的命令或进程
kill $pid
exit
}
# 注册信号处理函数
trap cleanup SIGINT SIGTERM
# 无限循环
while true; do
# 启动需要执行的命令或进程,并将其放在后台运行
your_command_here &
# 记录进程ID
pid=$!
# 等待信号
wait $pid
done
在上述代码中,your_command_here
代表需要执行的命令或进程,trap cleanup SIGINT SIGTERM
用于注册信号处理函数,kill $pid
用于终止之前启动的命令或进程。
以上是三种实现重复启动和终止一个永不结束的bash进程的方法。具体使用哪种方法取决于实际需求和场景。
领取专属 10元无门槛券
手把手带您无忧上云