假设我创建了 5 个线程,在这 5 个线程中使用了 popen 函数。那这 5 个线程是复制了 5 个父进程的信息吗。新创建的子进程会不会也有 5 个线程?
1
Nitroethane 2020-04-15 18:46:25 +08:00
Linux 下,在一个多线程的进程中,每个 thread 里 fork 一个 child process 的话每个新的 child process 只有创建此 process 的 thread,即只存在一个 thread
Reference: https://stackoverflow.com/a/39890957/6628963 |
2
loriann OP 谢谢,我刚才我试验了一下,确实 fork 的进程只有一个线程
|
3
frostming 2020-04-16 12:07:46 +08:00
popen 并不是 fork 出来的而是 spawn 出来的,进程信息跟父进程不共享
|