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 启动/停止),它工作正常。现在我想向 dameon 发送一个输入。类似 "service foo submit [argument]" 。我想知道 - 如果用户键入“service foo submit alexander”,如何将 alexander 发送到正在运行的守护进程?

4

1 回答 1

0

如果我的问题是正确的 - 就像您已经使用位置 var $1 一样,您也可以将其余参数提供给命令,即:

"your_start_up_script" [切换到脚本为 $1] [arg 2 将通过 $2 访问] [arg 3 将通过 $3 访问]
然后在脚本中你做:

    案例“$1”在
开始)
    echo -n "开始 $NAME"
cd $目录
/home/amit/Desktop/foo.pl "$2" "$3"  
于 2013-05-10T05:49:34.250 回答