守护进程在--background中无法正常工作(ubuntu,start-stop-daemon)

时间:2014-01-10 00:22:25

标签: ubuntu daemon webrtc

我正在尝试使用此代码从webrtc启动'peerconnection_server'作为守护进程:

#!/bin/sh
# Start/stop server2

NAME=peerserver2
PIDFILE=/var/www/peerserver2.pid


CMD=/var/www/temp/webrtc/trunk/out/Debug/peerconnection_server


do_start() {
    start-stop-daemon --start --background --pidfile $PIDFILE --exec $CMD --make-pidfile
}

do_stop() {
    start-stop-daemon --stop --pidfile $PIDFILE
}

case "$1" in
start)
    echo -n "Starting $NAME \n"
    do_start
        ;;
stop)
    echo -n "Stopping $NAME \n"
    do_stop
    ;;
restart)
    echo -n "Restarting $NAME \n"
    do_stop
    do_start
    ;;
*)
    echo -n "Usage: /etc/init.d/server2 {start|stop|restart} \n"
    exit 2
    ;;
esac
exit 0

它是在server2 start命令之后启动的,我在ps -aux | grep server中看到了此过程,但peerconnection_server效果不佳。当我尝试连接到我的peerconnection_server时,它接受我的sign_in请求,但它没有做它应该做的事情。

但是如果我从locale执行相同的命令:  /var/www/temp/webrtc/trunk/out/Debug/peerconnection_server

......它完美无缺。

任何人都可以帮我处理这个案子吗?也许我需要设置选项? 同样在我的peerconnection_server中,我使用了来自c ++的system()命令。 该程序还使用端口8888.

谢谢。

更新

我通过'screen'命令解决了这个问题。只是用无限循环写了bash-script。在whis循环中,如果proccesses不包含它,我会启动新屏幕。它起作用,但我认为这不是一个优雅的决定。

0 个答案:

没有答案