在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Python/ 父進(jìn)程,子進(jìn)程的pid問題?

父進(jìn)程,子進(jìn)程的pid問題?

問題:

自建一個(gè)Myprocess(Process)類
內(nèi)部定義封裝函數(shù)ppid:return (os.getppid())
Myprocess創(chuàng)建對象p1
兩個(gè)問題:
1、見圖1p1.ppid的結(jié)果指的是哪個(gè)進(jìn)程?為什么不是4740?
p1.ppid為什么不是4740

2、斷點(diǎn)調(diào)試的時(shí)候,見圖2,
_parent_pid 是指什么?
_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('子進(jìn)程:\033[1;32;40m%s\033[0m 父進(jìn)程:\033[1;31;40m%s\033[0m' %(os.getpid(),os.getppid()))
        print('系統(tǒng)調(diào)用執(zhí)行子進(jìn)程,等待3秒')
        time.sleep(3)

    @property
    def ppid(self):
        return (os.getppid())


if __name__ == '__main__':
    p1 = Myprocess('進(jìn)程對象')
    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('【主進(jìn)程】:',os.getpid())
回答
編輯回答
囍槑

1、_parent_pid 的結(jié)果,3400,指的當(dāng)前主進(jìn)程的父進(jìn)程,即pycharm
2、主進(jìn)程運(yùn)行過程中,MYprocess中,除了run,其他定義都是在主進(jìn)程4740中完成,唯獨(dú)p1.start()申請系統(tǒng)調(diào)用成功后,主程序調(diào)用了子程序run()后,得到子程序9812。
即,若要在進(jìn)程對象p1中拿到父進(jìn)程pid,就不能使用os.getppdid(),而是os.getpid()

    @property
    def ppid(self):
        return os.getpid()
2018年9月8日 09:13
編輯回答
生性

ppid是pycharm的id,另一個(gè)不知

2017年8月25日 06:57