我在我的主板上使用 linux 内核 2.6.30。 它有 128MB 的 DDR2。 我的主应用程序占用了将近 80MB 的系统内存。 执行所有应用程序后,只剩下 25MB。 我想从我的主应用程序(使用 80MB)执行系统命令。 但它没有被执行。据我了解,每个子进程都需要与父进程相同的内存(我从 fork 函数手册中得到了这个描述)。所以在我的例子中,新的子进程需要另外 80MB,这是不可用的。因此系统调用不起作用。 系统命令必须在发出命令后立即执行,因为主应用程序中的后续步骤需要系统命令的结果(例如需要将 grep 命令的输出存储在文件中并立即读取该文件以进行进一步处理)。因此我不能使用 IPC 机制。 还有哪些方法?
苏拉巴沙阿
最佳答案
除非你有一些奇怪的、损坏的 CPU 架构或 libc,否则它应该使用 fork()
的 Copy-on-Write,所以你应该可以使用 exec()
紧随其后。
关于linux - 嵌入式linux子进程创建问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2242327/