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

发布于 2022-09-12 00:33:17 字数 111 浏览 19 评论 0

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

pid = os.fork()

assert pid != -1

这段代码的作用是什么?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

帝王念 2022-09-19 00:33:17

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.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文