这里为何会使用 assert 断言 pid!=1?

这里为何会使用 assert 断言 pid!=1?

pid = os.fork()

assert pid != -1

这段代码的作用是什么?

阅读 2.4k
1 个回答

os.fork() 函数是要复制出一个新的进程。对于 *unix 系统来说,成功创建一个用户进程后,用户进程的 PID 不会是负数。
所以,PID 为负数,一般表示遇到异常,没有成功创建进程。

这里面用 assert 判断 pid != -1,预期要成功创建进程。
从 Python 文档对 os.fork() 函数的说明来看,应该是不会返回 -1 的。
如果复制进程异常,会直接抛出 OSError exception。

查看 Python 官方文档对 os.fork() 函数的说明如下:
https://docs.python.org/3/lib...

os.fork()
Fork a child process. Return 0 in the child and the child’s process id in the parent. If an error occurs OSError is raised.
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题