DAEMON
Alex
abusquets en gmail.com
Lun Abr 24 15:35:30 CEST 2006
Hola a todos, tengo un script que escucha las peticiones a un puerto
determinado, tiene un while que hace que no termine la ejecución.
Lo que me passa es que al ejecutarlo ya no puedo usar la consola sin hacer
un control+c.
Cómo podria solucionar eso sin hacer un nohup con job.
#!/usr/bin/python
import os
from socket import *
myHost = ''
myPort = 2009
pidfile = "/tmp/gestionaisp.pid"
usuariUid = 2002
usuariGid = 2001
s = socket(AF_INET, SOCK_STREAM) # create a TCP socket
s.bind((myHost, myPort)) # bind it to the server port
s.listen(5) # allow 5 simultaneous
#->Alex
pid = str( os.getpid() )
os.system("echo "+ pid + " > "+ pidfile)
os.setgid(usuariGid)
os.setuid(usuariUid)
#-<Alex
while 1:
# wait for next client to connect
connection, address = s.accept() # connection is a new socket
while 1:
data = connection.recv(1024) # receive up to 1K bytes
if data:
#Aqui hauriem de passar les dades al binary de php
# i esperar la resposta
# os.system('mkdir hola')
# resposta = os.popen('ls -n').read()
connection.send( "as" )
else:
break
connection.close() # close socket
Más información sobre la lista de distribución Python-es