linux-检查fork()是否安全

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

解决方法:

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

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

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

上一篇:【linux】循序渐进学运维-基础篇-yum管理


下一篇:与Java中的await(x == 0)等效