Welcome to Software Development on Codidact!
Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.
How can a Python program send itself to the background?
+3
−0
Is it possible for a Python program to send itself in the background?
For example, on Linux you can do nohup some_cmd &
and any program will run in the background. Some programs also support switches like -d
(daemonize) to run in the background without nohup
/&
. How can a Python program do this?
1 answer
+4
−0
Use os.fork()
.
Example:
import os
import time
pid = os.fork()
if pid == 0:
os.setsid() # Prevents the child from being killed if the parent dies
time.sleep(10)
os.system('some_cmd')
os._exit(os.EX_OK) # This is important after a fork; otherwise Python cleans up its children
0 comment threads