Выполнение скрипта Python в фоновом режиме в init.d

для взаимодействия с моим 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."
;;

Большая проблема заключается в том, что, хотя я указал & знак, процесс не хочет работать в фоновом режиме :( есть идеи??

Спасибо!


person PirosB3    schedule 05.01.2010    source источник


Ответы (2)


Поместите процесс su в фоновый режим, а не его дочерний процесс. Например:

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

Обратите внимание, что амперсанд находится вне кавычек.

person Greg Bacon    schedule 05.01.2010

попробуйте запустить с nohup process.py &

person kibitzer    schedule 05.01.2010