你能帮我创建bash(或sh)脚本,它将启动应用程序(./newserver
)并且每小时都会杀死这个应用程序(发送信号)并重新启动。
它还应该检查应用程序是否正在工作,如果没有 - 重新启动,以防应用程序崩溃等情况。
对于 linux ubuntu
正如人们已经指出的那样,这不是处理脚本错误的最佳方法。但是,我假设您有特殊的理由需要这个。
#!/bin/bash
while :; do
./newserver &
pid=$!
sleep 1h
kill -n 9 $pid
done
至于检查它是否有效,您必须创建一些分析来识别它。我对您的脚本一无所知,但我怀疑您是否想尝试在 bash 中执行此操作。
除非“工作”只是指跑步,在这种情况下
#!/bin/bash
run_server () {
while :; do
./newserver &
pid=$!
sleep 1h
kill -n 9 $pid
done
}
run_server &
while :; do
if [ "$(kill -n 0 $pid 2>&1)" ]; then
run_server &
fi
done
将您的服务器启动脚本放在/etc/inittab
init 中,如果它死了,它将生成它。