How to move SimpleSocket server into a background process

前端 未结 2 1868
离开以前
离开以前 2020-12-12 04:04

I have a simple socketServer that works perfectly on the main thread.

#Server PORT
PORT = 8020
#reassign variables
Handler = Server #this is a S         


        
相关标签:
2条回答
  • 2020-12-12 04:31

    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.

    0 讨论(0)
  • 2020-12-12 04:35

    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
    
    0 讨论(0)
提交回复
热议问题