python中subprocess.Popen preexec_fn和start_new_session之间的区别

python中subprocess.Popen preexec_fn和start_new_session之间的区别,第1张

python中subprocess.Popen preexec_fn和start_new_session之间的区别

根据官方的Python文档,

在应用程序中存在线程的情况下,preexec_fn参数不安全使用。在调用exec之前,子进程可能会死锁。如果您必须使用它,请保持琐碎!最小化您要调用的库的数量。

如果您需要为孩子修改环境,请使用env参数,而不要在preexec_fn中使用它。start_new_session参数可以代替preexec_fn以前在子级中调用os.setsid()的常用用法。

因此,我想您的问题的答案

start_new_session
是引入该方法来代替用于通过
preexec_fn
设置会话ID的常见 *** 作
os.setsid()
,这不是线程安全的。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5664470.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-16
下一篇2022-12-16

发表评论

登录后才能评论

评论列表(0条)

    保存