父进程能查到子进程的PID吗

问题描述 投票:0回答:2

我有一些Python代码可以分叉

try: 
    pid = os.fork() 
    if pid > 0:
        # parent process, return and keep running
        return
except:
    print("EXCEPTION")
    sys.exit(1)

我发现能够知道父进程中子进程的 PID 很有用。我很喜欢使用锁/等待/同步方法。我只是想在这里保持谨慎,因为我想确保我做的事情是安全的。

python fork
2个回答
0
投票

pid
返回的
os.fork()
实际上是父级的子级 pid(子级为零)。


0
投票

能够知道父进程内子进程的PID

实际上这就是 fork 返回给父级的内容。 此行表明您已经将其存储在

pid
变量中:
pid = os.fork()

请参阅文档此处

fork 一个子进程。在子进程中返回 0,在父进程中返回子进程 id。如果发生错误,则会引发 OSError。

这里

成功完成后,fork()将向子进程返回0,并向父进程返回子进程的进程ID。两个进程都应继续从 fork() 函数执行。否则,返回-1给父进程,不创建子进程,并设置errno来指示错误。

© www.soinside.com 2019 - 2024. All rights reserved.