大家好: 最近我正在研究在linux进程上制作检查点并遇到一个问题,看起来当我将可执行文件的内存映射到当前进程时,符号链接/ proc / self / exe已经死了。我想要的是做这个符号链接指向另一个可执行文件(我的恢复进程的那个),这可能吗?我尝试删除它并重新创建,权限被拒绝。英语不是我的母语,我希望我已经说明了我的观点,而不是
答案 0 :(得分:2)
没有。 /proc
完全由内核管理,不允许更改。
但您可以启动一个新流程(也许可以使用fork()
)并将您的内存快照映射到该流程。
答案 1 :(得分:1)
prctl(PR_SET_MM_EXE_FILE,...) 取代/ proc / pid / exe符号链接,指向由arg3参数中提供的文件描述符标识的新可执行文件。应该通过常规的open(2)调用获得文件描述符。