system()可以执行命令程序,但是fork不了一个子进程。

你好,我有一个问题,是system()可以执行一个命令程序,而fork()一个子进程却不行,system()不是也是fork()一个子进程吗。直接fork()一个子进程,会报Cannot allocate memory的错误。

是这样的问题么?按博客的建议尝试一下?

不行,我主要是system()可以执行,system不是也调用fork吗,为什么我单独fork子进程的时候报错,system不报错。

把代码贴出来,我帮你跑一下?
在 ubuntu 还是开发板上?

UNIX环境高级编程中文版.pdf (6.1 MB)
你也可以在这本书里找一下 fork 与 system 之间的差异在哪。

Cannot allocate memory 还能有这种情况,太少见了。
ps看看有多少进程,还有free看看内存当前情况