linux - 克隆系统调用 - 我可以在父进程中取消分配堆栈内存吗?

标签 linux system-calls

clone 返回后,在父进程中释放传递给 clonechild_stack 参数的堆栈缓冲区是否安全(如果 CLONE_VM 未指定)?

最佳答案

引用clone man page :

If CLONE_VM is not set, the child process runs in a separate copy of the memory space of the calling process at the time of clone(). Memory writes or file mappings/unmappings performed by one of the processes do not affect the other, as with fork(2).

这还包括 child_stack,它只是像其他所有东西一样被复制了。

所以是的, parent 可以取消分配它, child 使用一个副本,而不是原来的。

关于linux - 克隆系统调用 - 我可以在父进程中取消分配堆栈内存吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48825108/

相关文章:

c - 如何在非规范模式下从读取函数返回且 VMIN 和 TIME 不等于零

使用系统调用将一个文件的内容复制到另一个文件

assembly - 可以在Linux上的代码中使用BIOS中断吗?

linux - 我需要什么硬件来开始编写、编译和运行我自己的内核?我需要购买像树莓派这样的新机器吗?

linux - 如何使用原始套接字仅监听想要的流量?

linux - bash 和 awk 脚本以 YYYY-MM-DD 格式获取上个月的日期

java - 在 Android 5.0.1_r1 中将 Intent 从 C++ 发送到 Java

linux - 如何使用 sed 在 FIRST 和 LAST 匹配模式之前插入一行

linux - 如何 Hook 特定共享 ELF 库的函数?

c - 在 C 中追加到文件开头