在init.d中的后台执行python脚本

为了与我的iPhone交互,我创建了一个python脚本,通过套接字发送和回收数据,脚本必须在emule之后启动才能工作,
我想到过这样的事情:

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/bin/amuled
WEB=/usr/local/bin/amuleweb
NAME=amuled
DESC=amuled
RUNAMULE=no
USER=piros
# ADDED FOR iPhone
SOCKET= /home/piros/amule_scripts/aMuleSocket/aMuleSocket.py
#

然后

case "$1" in
start)
  echo -n "Starting $DESC: "
   su $USER -c "$DAEMON -f"
   while ! netstat -l -n -p -t | grep -q amuled ; do sleep 1 ; done
   su $USER -c "$WEB --quiet & "
   ##iPhone
   su $USER -c "$SOCKET & "
   ##
echo "$NAME."
;;

最大的问题是,虽然我指定了&签署过程不想在后台运行:(任何想法?

谢谢!

解决方法:

把su进程放在后台,而不是它的子进程.例如:

su $USER -c "$WEB --quiet" &

请注意,&符在引号之外.

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...