gpt4 book ai didi

c++ - 在线程 C++ 中使用 system()

转载 作者:行者123 更新时间:2023-11-30 01:23:51 25 4
gpt4 key购买 nike

我想在 C++ 的(非主)线程(pthread)中使用方法 system()。例如,

system("/path/to/some/script.sh");

这是允许的吗?如果是这样,它安全吗?我应该采取什么预防措施?

我问的原因是我收到了代码审查员的以下评论:

“规则是 system() 只能从单线程进程中调用。我认为您需要将新代码移动到单独的应用程序中。”

评论的第一句是否有效?

最佳答案

对于 system 的 GNU/Linux 实现,它会在命令执行期间修改 process 信号掩码。在多线程程序中,我们会遇到令人讨厌的惊喜,例如如果另一个线程 fork 同时发生。

关于c++ - 在线程 C++ 中使用 system(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14405905/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com