我有一个python应用程序,它在端口上启动一个websocket,它被指定为python应用程序的参数。 我通过windows中的批处理(.bat)文件成功传递了参数。 在Windows中,我传递的参数如下: python server.py -p 8000
现在我需要通过bash文件在ubuntu 12.04中实现相同的功能。我从bash文件启动python应用程序作为服务。 bash文件代码:
PYPATH="/usr/bin/python"
DEAMON="./server.py"
start-stop-daemon --start --background --name $DEAMONNAME --pidfile $PIDFILE --make-pidfile --user $USER --group $USER --chuid $USER -d $WORKINGDIR --exec $PYPATH $DEAMON
当我按原样运行时,这可以正常工作,但它需要默认端口。 我按如下方式传递参数:
DEAMON="./server.py -p 8004"
这给了我以下错误:
start-stop-daemon: invalid option -- 'y'
Try 'start-stop-daemon --help' for more information.
...fail!
请问任何人可以帮助我将参数从bash文件传递给python应用程序,以达到与windows相同的效果吗?
提前致谢。
答案 0 :(得分:1)
在start-stop-daemon
之后将任何不直接用于--
的参数移到命令的最后,以便它们通过:
PYPATH="/usr/bin/python"
DEAMON="./server.py -p 8004"
start-stop-daemon --start --background --name $DEAMONNAME --pidfile $PIDFILE --make-pidfile --user $USER --group $USER --chuid $USER -d $WORKINGDIR --exec $PYPATH -- $DEAMON