私は python multiprocessing モジュールで遊んでいて、現在実行中のプロセスの名前を表示できるようにしたいと考えていました。
multiprocessing.Process から継承するカスタム MyProcess クラスを作成すると、次の方法でプロセスの名前を出力できます
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()
ただし、 Process クラスのコンストラクターを使用してプロセスを作成している場合
from multiprocessing import Process
def somefunc():
print Process.name #1
p = Process(target=somefunc)
p.start()
print p.name #2
#2は機能しますが、#1は機能しません。内部で現在実行中のプロセスの名前を出力する方法はありsomefunc
ますか?