是否可以通过对所有内存对象进行深度复制来复制当前python程序中的所有内存对象。接下来,启动同一 python 程序的另一个实例,并将这些复制的对象移动到第二个正在运行的实例。
你的意思是将信息写入文件,启动正在运行的脚本,然后加载信息?如果您的意思是获取内存字节并将它们重新分配到内存中的另一个位置,以便在同一程序中使用,我建议您查看 https://docs.python.org/3/library/sys.html 并 https://goshippo.com/blog/measure-real-size-any-python-object/
这就是分叉程序的作用。 当调用 os.fork(( 时,子进程会获取父进程内存空间的副本,并且两者都从同一点恢复执行。 这两个进程的唯一区别是 fork(( 调用的返回值,子进程为 0,父进程的子进程为 PID。
下面是一个简单的示例:
import os
x = 'val'
ret = os.fork()
# At this point, both processes have the same memory contents, except for the value of `ret`
print(ret, x)
# Now change the value in the child process
if ret == 0:
x = 'newval'
print(ret, x)
结果:
59751 val
59751 val
0 val
0 newval