Line 34: |
Line 34: |
| echo 'Starting service…' >&2 | | echo 'Starting service…' >&2 |
| local CMD="$SCRIPT &> \"$LOGFILE\" & echo \$!" | | local CMD="$SCRIPT &> \"$LOGFILE\" & echo \$!" |
− | su -c "$CMD" $RUNAS > "$PIDFILE" | + | su -s /bin/sh $RUNAS -c "$CMD" > "$PIDFILE" |
| | | |
| # Try with this command line instead of above if not workable | | # Try with this command line instead of above if not workable |
− | # su -s /bin/sh $RUNAS -c "$CMD" > "$PIDFILE" | + | # su -c "$CMD" $RUNAS > "$PIDFILE" |
| | | |
| sleep 2 | | sleep 2 |
Line 60: |
Line 60: |
| } | | } |
| | | |
− | uninstall() {
| + | status() { |
− | echo -n "Are you really sure you want to uninstall this service? That cannot be undone. [yes|No] " | |
− | local SURE
| |
− | read SURE
| |
− | if [ "$SURE" = "yes" ]; then
| |
− | stop
| |
− | rm -f "$PIDFILE"
| |
− | echo "Notice: log file is not be removed: '$LOGFILE'" >&2
| |
− | update-rc.d -f <NAME> remove
| |
− | rm -fv "$0"
| |
− | fi
| |
− | }
| |
− |
| |
− | status() {
| |
| printf "%-50s" "Checking $NAME..." | | printf "%-50s" "Checking $NAME..." |
| if [ -f $PIDFILE ]; then | | if [ -f $PIDFILE ]; then |
Line 97: |
Line 84: |
| status) | | status) |
| status | | status |
− | ;;
| |
− | uninstall)
| |
− | uninstall
| |
| ;; | | ;; |
| restart) | | restart) |
Line 106: |
Line 90: |
| ;; | | ;; |
| *) | | *) |
− | echo "Usage: $0 {start|stop|status|restart|uninstall}" | + | echo "Usage: $0 {start|stop|status|restart}" |
| esac | | esac |
| | | |
Line 123: |
Line 107: |
| chmod u+x /etc/rc.d/init.d/YOUR_SERVICE_NAME | | chmod u+x /etc/rc.d/init.d/YOUR_SERVICE_NAME |
| | | |
| + | ====optional chkconfig==== |
| You need to say to SME Server to add the script to each run level you have specified at the top of your init script( Default-Start: 2 3 4 5 and Default-Stop: 0 1 6 ). For Linux using rpm as centos or redhat, you can use | | You need to say to SME Server to add the script to each run level you have specified at the top of your init script( Default-Start: 2 3 4 5 and Default-Stop: 0 1 6 ). For Linux using rpm as centos or redhat, you can use |
| | | |
Line 233: |
Line 218: |
| {{tip box|you may use TAB to auto-complete your command line}} | | {{tip box|you may use TAB to auto-complete your command line}} |
| | | |
− | | + | you have some shortcuts |
| + | down => 'd', |
| + | stop => 'd', |
| + | up => 'u', |
| + | start => 'u', |
| + | restart => 't', |
| + | sigterm => 't', |
| + | adjust => 'h', |
| + | reload => 'h', |
| + | sighup => 'h', |
| + | sigusr1 => '1', |
| + | sigusr2 => '2', |
| + | once => 'o', |
| + | pause => 'p', |
| + | alarm => 'a', |
| + | interrupt => 'i', |
| + | quit => 'q', |
| + | kill => 'k', |
| + | exit => 'x', |
| | | |
| ====Example==== | | ====Example==== |