我曾经维护过CryoPID,这是一个完全按照你所说的做的程序.它将程序地址空间、VDSO、文件描述符引用和状态的内容写入一个文件,该文件可在以后重建.CryoPID从Linux本身没有可用的钩子开始,完全从用户空间工作(实际上,它仍然可以工作,这取决于您的发行版/内核/安全设置).
问题包括(事实上)套接字、挂起的RT信号、大量X11问题、glibc caching getpid()实现等.在伯纳德离开后,随机化(尤其是VDSO)对我们中的少数人来说是无法克服的.然而,它很有趣,成为了几位硕士论文的主题.
如果你只是在考虑一个程序,可以保存它的运行状态,并直接重新启动到该状态,它远..远的更容易从程序本身保存信息,可能是在维护信号时.