问题:
自建一个Myprocess(Process)类
内部定义封装函数ppid:return (os.getppid())
Myprocess创建对象p1
两个问题:
1、见图1p1.ppid的结果指的是哪个进程?为什么不是4740?
2、断点调试的时候,见图2,
_parent_pid 是指什么?
源码:
import time,os
from multiprocessing import Process
class Myprocess(Process):
def __init__(self,name):
super(Myprocess,self).__init__()
self.name = name
def run(self):
print('子进程:\033[1;32;40m%s\033[0m 父进程:\033[1;31;40m%s\033[0m' %(os.getpid(),os.getppid()))
print('系统调用执行子进程,等待3秒')
time.sleep(3)
@property
def ppid(self):
return (os.getppid())
if __name__ == '__main__':
p1 = Myprocess('进程对象')
p1.start()
print('%s,的pid:\033[1;32;40m%s\033[0m' % (p1.name,p1.pid))
print('%s,的ppid:\033[1;31;40m%s\033[0m' % (p1.name,p1.ppid))
print('【主进程】:',os.getpid())
ppid是pycharm的id,另一个不知