有没有办法我可以启动另一个程序而无需fork()?

Zen*_*net 0 c fork

我有一个用C编写的主程序,我需要它并行启动另一个进程,我使用了该函数

system("./server");
Run Code Online (Sandbox Code Playgroud)

问题是这个过程包含一个while(1)循环,所以它永远不会返回主应用程序......

有没有办法可以启动程序而无需fork()?

谢谢!

Pau*_*l R 5

当然 - 只需这样做:

system("./server &");
Run Code Online (Sandbox Code Playgroud)


qrd*_*rdl 5

在UNIX/Linux中fork()(通常以下exec())是创建新进程的唯一方法.

所有其他方式(system(),一些操作系统spawn())确实使用fork().

所以这fork()是不可避免的(对于UNIX/Linux).