c - exec*() 后内存使用会发生什么

标签 c linux

C父程序做一些处理并分配内存,然后调用execvp()。所有已分配但未释放的内存会发生什么?它是自动释放还是作为垃圾保留?

最佳答案

exec*() 用新程序完全替换了旧进程的内存。这包括所有分配的内存,因此没有垃圾留在后面。但请注意,文件描述符等其他资源不会自动释放或关闭。

关于c - exec*() 后内存使用会发生什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3617332/

相关文章:

linux - 如何修复 pnmscale/pnmtojpeg : command not found

linux - Docker - 无法使用 docker buildx 构建多平台镜像

c - 为什么编译器假定 malloc 返回一个 int?

c++ - 在 Mysql ODBC 中禁用 GUI

linux - 配置文件发现意外的 $end,不知道为什么

linux - “缺少重定向名称。”在 CSH 环境中运行命令时出错

c++ - 使用数据包套接字在同一网络接口(interface)上发送和接收时无法接收数据包

你能在 MPI 中即时请求额外的处理器吗?

c - libunistring u8_strlen() 等于 strlen()?

c++ - gcc/g++ 可以在忽略我的寄存器时告诉我吗?