Tôi muốn thực hiện một kịch bản được tự daemonizing, ví dụ, không cần phải gọi nohup $SCRIPT &>/dev/null &
bằng tay trên dấu nhắc shell.Tự daemonizing bash script
Kế hoạch của tôi là tạo ra một đoạn mã như sau:
#!/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
Đây có phải là khôn ngoan? Bạn có lựa chọn thay thế tốt hơn?
Bạn nên sử dụng đôi báo giá khoảng '$ SCRIPTNAME' và' $ 1' ít nhất; nếu không bạn gặp rắc rối nếu có không gian trong các giá trị này. – Alfe
@Alfe bạn nói đúng. Tôi quên dấu ngoặc kép. Cảm ơn bạn đã chỉ ra điều đó! – pepoluan