我有一个用C编写的主程序,我需要它来并行启动另一个进程, 我使用了函数
system("./server");
问题是这个过程包含一个while(1)循环,所以它永远不会返回主应用程序......
有没有办法可以启动程序而无需fork()?
谢谢!
答案 0 :(得分:5)
当然 - 只需这样做:
system("./server &");
答案 1 :(得分:5)
在UNIX / Linux中fork()
(通常由exec()
开发)是创建新流程的唯一方法。
所有其他方式(system()
,某些操作系统spawn()
)确实使用fork()
。
所以fork()
是不可避免的(对于UNIX / Linux)。