【发布时间】:2014-05-05 19:35:01
【问题描述】:
我创建了一个 /etc/init.d 脚本来启动一个包含 while true 循环的 shell 脚本。以下是脚本的内容:
#!/bin/bash
# /etc/init.d/SCRIPT
### BEGIN INIT INFO
# Provides: SCRIPT
# Required-Start: $remote_fs $syslog $network
# Required-Stop: $remote_fs $syslog $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start SCRIPT script
# Description: Sample desc
### END INIT INFO
case "$1" in
start)
echo "Starting SCRIPT.."
/usr/local/bin/SCRIPT/SCRIPT_run.sh
;;
stop)
echo "Stopping SCRIPT.."
killall SCRIPT_run.sh
;;
*)
echo "Usage: /etc/init.d/SCRIPT start|stop"
exit 1
;;
esac
exit 0
现在因为 SCRIPT_run.sh 包含一个无限循环,所以当我执行 /etc/init.d/SCRIPT start 时,它不会返回我的 shell,因为它正在等待脚本完成执行。有没有办法在不将输出“链接”到我的 shell 的情况下启动脚本?
【问题讨论】: