有没有办法将在一个系统上运行的应用程序转移到其他系统?

时间:2013-08-02 12:18:57

标签: linux ssh operating-system

我想知道有没有办法将应用程序(比如Firefox)从一个系统迁移到另一个系统?  如果是的话请告诉我......

示例:假设我有两个系统说A,B。并且Firefox在A中运行,现在我想将正在运行的应用程序(Firefox)转移到B,因为它是

我认为,我们可以将我们的流程稳定地迁移到应用程序中,为什么人们不会这样思考,如果他们不知道答案,他们会简单地标记问题?它不是我们应该对我们的堆栈社区中提出的问题做出回应的方式......任何擅长操作系统请求的人都会想到可以将我们的流程状态转移到其他机器上以便我们可以在其他系统获得相同的图像..如果是这样,请让我知道。提前谢谢..

1 个答案:

答案 0 :(得分:3)

你想要的是process migration,在Linux上一般都不容易。

但是,如果您仔细设计应用程序并使用某种application checkpointing机制,则可能(以某种非常有限的方式)。也许使用Berkeley Lab Checkpoint Restart库可以提供帮助。

不要期望迁移像Firefox这样复杂的应用程序进程。

另请阅读continuation passing style& virtual machines。这是相关的。阅读Queinnec's Lisp in Small Pieces&着名的SICP也应该有很多帮助。另请参阅Continuation-Passing C

在实践中,如果您从一开始就考虑流程迁移设计应用程序,那么您可能能够为某些自己的应用程序(使用少量外部库或在检查点之间“原子地”使用它们)进行进程迁移。

PS。随意问我更多,例如通过电子邮件,引用此问题,解释您要迁移的实际应用程序以及您已阅读和尝试过的内容。这个主题非常有趣和困难(你可能会在其上攻读博士学位)。