如何才能做到这一点?我知道它非常简单,包括附加类似&或&>到启动init脚本的实际命令.
但是,什么是最好的方法,如何确保init脚本自行分离,假设日志文件是/var/log/customDaemon.log?
这是我的init脚本.我也不确定脚本中的方法是否整齐或只是一个讨厌的黑客.
#!/bin/bash # # /etc/rc.d/init.d/customDaemon # # description: "The Daemon" # processname: customDaemon # pidfile: "/var/run/customDaemon.pid" # Source function library. . /etc/rc.d/init.d/functions start() { echo "Starting customDaemon" /var/customDaemon &> /dev/null & return 1 } stop() { echo "Stopping tweriod" prockill customDaemon return 2 } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; reload) restart ;; status) status customDaemon ;; *) echo "Usage: customDaemon [start|stop|restart|status]" exit 1 ;; esac
解决方法
试试这个:
/var/customDaemon >> /var/log/customDaemon.log 2>&1 &
要显示[OK],[Failed]消息,您可以检查退出状态,如下所示:
/var/customDaemon >> /var/log/customDaemon.log 2>&1 & RETVAL=$? [ $RETVAL = 0 ] && echo -ne '\t\t\t\t\t[ \033[32mOK\033[0m ]\n'
您还可以查看/etc/rc.d/init.d/functions中的预定义函数:守护进程,killproc,action,…
/var/customDaemon >> /var/log/customDaemon.log 2>&1 & RETVAL=$? [ $RETVAL = 0 ] && action $"Starting customDaemon... " /bin/true