I have a simple socketServer
that works perfectly on the main thread.
#Server PORT
PORT = 8020
#reassign variables
Handler = Server #this is a S
You might need threading/_thread
def server():
....
import _thread
_thread.start_new_thread(server, ())
This basically starts the server function on a different thread.
EDIT:
In this case in your def server():
you a global variable threadIsRunning
, if this is valued to True
it should continue, but if it is valued to False
run thread.exit()
this should all be in some sort of loop.
Assuming you are running your script on a POSIX operating system and your script is named socket_server.py
, you can use nohup
like this:
$ nohup python socket_server.py >> /dev/null 2>&1 &
That will put your script in the background, make it immune to hangups, and you can exit your SSH session. The shell will print out the job number and PID:
$ [1] 1234
You can stop it later by getting sending a SIGTERM using kill
:
$ kill -SIGTERM 1234