系统相关
首页 > 系统相关> > linux-检查fork()是否安全

linux-检查fork()是否安全

作者:互联网

如果进程中有多个线程,则fork()的行为是不确定的.如何检查是否只有一个线程(主要在linux上,但也对Windows,darwin感兴趣)?

解决方法:

Linux下,fork()的行为在多线程进程中并不是未定义的,但是它所做的事情通常不是很有帮助.

或者更确切地说,如果您使用fork()而不立即调用exec(),则可能会泄漏未指定的资源,其中可能包括可能导致死锁的锁.

当然可以(通过procfs)询问Linux当前线程组中有多少个线程.如果答案是“ 1”,则表示该进程是单线程的.

标签:multithreading,pthreads,linux
来源: https://codeday.me/bug/20191105/1996438.html