linux - 嵌入式linux子进程创建问题

标签 linux process embedded

我在我的主板上使用 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/

相关文章:

linux - 为什么在电缆连接断开的情况下,socket send() 会返回成功代码?

linux - 基于两列(双向)删除重复行,只保留一列

C++,Linux : how to limit function access to file system?

linux - 在哪里可以找到 Centos 6 cron 作业 .sh 文件

c - 从父级向特定子级发送信号

c# - 使用 WMI 在远程计算机中执行进程

java - Java 嵌入式系统中用于存储位字符串的 boolean 数组或字符串

c - 为 32 位微 Controller 编写掩码的替代方法

PHP进程执行超时

c - 如何在编译时初始化Flash中的结构?