简体   繁体   English

更改 Python 多处理管理器的衍生进程名称

[英]Change the spawned process name for Python multiprocessing manager

I want to change the process name of the spawned multiprocessing's manager SyncManager using setproctitle, I tried extending multiprocessing.managers.SyncManager:我想使用 setproctitle 更改生成的多处理管理器 SyncManager 的进程名称,我尝试扩展 multiprocessing.managers.SyncManager:

class MySyncManager(multiprocessing.managers.SyncManager):
    def __init__(self):
        super(MySyncManager, self).__init__()
        self.daemon=True

    def run(self):
        setproctitle.setproctitle('MySyncManager')
        super(MySyncManager, self).run()


if __name__ == '__main__':
    mySyncManager = MySyncManager()
    mySyncManager.start()

But it doesn't seem to work.但这似乎不起作用。 Any idea how to do it?知道怎么做吗?

I found the solution to my question.我找到了我的问题的解决方案。

def changeProcessTitle(title):
    from setproctitle import setproctitle
    setproctitle(title)

class MySyncManager(multiprocessing.managers.SyncManager):
    def __init__(self):
        super(MySyncManager, self).__init__()
        self.daemon=True

if __name__ == '__main__':
    mySyncManager = MySyncManager()
    initArgs = ('MySyncManager', )
    mySyncManager.start(changeProcessTitle, initArgs)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM