我想使脚本具有自我守护性,即无需nohup $SCRIPT &>/dev/null &
在shell提示符下手动调用。
我的计划是创建一段如下的代码:
#!/bin/bash
SCRIPTNAME="$0"
...
# Preps are done above
if [[ "$1" != "--daemonize" ]]; then
nohup "$SCRIPTNAME" --daemonize "${PARAMS[@]}" &>/dev/null &
exit $?
fi
# Rest of the code are the actual procedures of the daemon
这明智吗?您有更好的选择吗?
这是我所看到的。
if [[ $1 != "--daemonize" ]]; then
那不应该是 == --daemonize?
nohup $SCRIPTNAME --daemonize "${PARAMS[@]}" &>/dev/null &
无需再次调用脚本,您只需召集一个放置在后台的子shell即可:
(
Codes that run in daemon mode.
) </dev/null >/dev/null 2>&1 &
disown
要么
function daemon_mode {
Codes that run in daemon mode.
}
daemon_mode </dev/null >/dev/null 2>&1 &
disown
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句