问题描述
我想使用 setproctitle 更改生成的多处理管理器 SyncManager 的进程名称,我尝试扩展 multiprocessing.managers.SyncManager:
def Game_Board(rows,columns):
max_columns = 100
max_rows = 50
rows = int(rows)
columns = int(columns)
if columns <= max_columns and rows <= max_rows:
for r in range((rows-1)*2+1):
if r%2 == 1:
print("-"*(2*columns-1))
else:
print(" |"*(columns-1))
else:
print("rows and columns are above table values")
return
Print_Board = Game_Board(50,100)
print(Print_Board)
但是好像不行。知道怎么做吗?
解决方法
我找到了问题的解决方案。
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)