Ejecutando el script de Python en el fondo en init.d
Pregunta
Para interactuar con mi iPhone, he creado un script de Python que envía datos y recursos a través de un socket, el script debe iniciarse después de Emule para trabajar, he pensado en algo como esto:
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
#
Y entonces
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."
;;
El gran problema es que, aunque especifiqué el y firmo el proceso que no quiere ejecutar en segundo plano :( ¿Alguna idea?
¡Gracias!
Solución
Pon el su
proceso en el fondo, no su hijo. Por ejemplo:
su $USER -c "$WEB --quiet" &
Observe que el ampersand está fuera de las citas.
Otros consejos
Intente lanzar con nohup process.py &
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow