0
#!/bin/bash

. /etc/init.d/functions

NAME=foo
DIR=/home/amit/Desktop
EXEC=foo.pl
PID_FILE=/var/run/foo.pid
IEXE=/etc/init.d/foo
RUN_AS=root

if [ ! -f $DIR/$EXEC ]
then
    echo "$DIR/$EXEC not found."
    exit
fi

case "$1" in
start)
    echo -n "Starting $NAME"
cd $DIR
/home/amit/Desktop/foo.pl
    echo "$NAME are now running."
    ;;
stop)
echo -n "Stopping $NAME"
    kill -TERM `cat $PID_FILE`
rm $PID_FILE
    echo "$NAME."
    ;;
force-reload|restart)
    $0 stop
    $0 start
    ;;
  submit)
  echo $2 >> /tmp/jobs
    ;;
  *)
    echo "Use: /etc/init.d/$NAME {start|stop|restart|force-reload}"
    exit 1
  ;;
esac
exit 0

開始および停止オプション (サービス foo 開始/停止) を使用してデーモンを作成しましたが、正常に動作します。ここで、ダメオンに入力を送信したいと思います。「service foo submit [引数]」のようなもの。知りたい - ユーザーが「service foo submit alexander」と入力した場合、実行中のデーモンに alexander を送信するにはどうすればよいですか?

4

1 に答える 1

0

質問が正しければ、位置変数 $1 を既に使用しているように、残りの引数もコマンドに指定できます。つまり、次のようになります。

"your_start_up_script" [$1 としてスクリプトに切り替える] [引数 2 は $2 経由でアクセス可能になります] [引数 3 は $3 経由でアクセス可能になります]
次に、スクリプト内で次のようにします。

    ケース「$1」
始める)
    echo -n "$NAME を開始しています"
CD $DIR
/home/amit/Desktop/foo.pl "$2" "$3"  
于 2013-05-10T05:49:34.250 に答える