I am playing around with python multiprocessing module and wanted to be able to display the name of the currently executing process.
If I create a custom MyProcess class inheriting from multiprocessing.Process I can print the process’s name in the following way
from multiprocessing import Process
class MyProcess(Process):
def __init__(self):
Process.__init__(self)
def run(self):
#do something nasty and print the name
print self.name
p = MyProcess()
p.start()
However if I am creating processes using the constructor of Process class
from multiprocessing import Process
def somefunc():
print Process.name #1
p = Process(target=somefunc)
p.start()
print p.name #2
#2 works but #1 doesn’t. Is there a way I could print the name of the currently executing process inside somefunc?
You can use the
current_processfunction: