2012-12-10 6 views
6

私は興味があります。プログラムのすべての変数と現在の状態をファイルにダンプし、それを別のコンピュータに復元することは可能ですか?
私はPythonやRubyで少しのプログラムしか持っていないとしましょう。特定の条件があれば、現在のすべての変数と現在の状態をファイルにダンプします。
後で別のマシンで再度読み込んで元に戻すことができました。
VMスナップショット機能のようなものです。
私はこのような質問を見ましたが、Javaに関連し、現在のJVMを保存して別のJVMで再度実行します。人々のほとんどは、そのようなものはないと言いましたが、テラコッタだけがまだ完全ではない何かを持っていました。 ありがとうございます。私が達成しようとしているものを明確にするためにスタックを保存しますか?


2以上のラズベリーパイの、私はパイのNº1で私のソフトウェアを実行しようとしているが、私はそれで別の何かをする必要があるときに、私がする必要を考えますデータ損失のないPinº2にソフトウェアを移動します。わずかなブレーク時間しかありません。
など、マシンの台数に制限はありません。

+3

私は誰かがpickle' 'と狂気に行くと漠然とこのような何かを行うことができます想像しますが、それは恐ろしく壊れやすくなり、おそらく、すべてをキャッチしないでしょう。いずれにしても悪い考えです。 –

+2

ここでは、環境全体を酸洗する方法について説明します。http:// stackoverflow。com/questions/8232798/python-script-to-pickle-entire-environment – 101100

+1

コアダンプを使用することは可能ですが、Perlは['dump']を使ってどのようにしますか(http://perldoc.perl.org/functions/ dump.html)。しかし、Perlの 'dump'文書が言うように、superuser.comでこれを行う方法を尋ねたいと思っています。" ...この機能は現在ほとんど使われていません。主にコアファイルを実行可能ファイル" –

答えて

1

スモールトークでは、はい。

実際には、Smalltalkでは、プログラム全体をダンプして再起動すると、のプログラムを保存して共有する方法です。ソースファイルはなく、平方ゼロからプログラムを開始する方法はありません。だから、Smalltalkではあなたの機能を無料で利用できます。

Smalltalk VMは、ファイルやインターネット接続の再開など、再起動後に各オブジェクトが外部リソースを復元するために登録できるフックを提供します。しかし、例えば、整数配列がそのフックに登録されて、ダンプが異なるエンディアンのマシンに移動した場合に、その値のエンディアンを変更することもできます。

これは、設計上再開可能なダンプをサポートしていない言語でこれを達成することがどれほど難しいかどうかを察知するかもしれません。

他のすべての言語は、あまりにも少なく生きています。いくつかのLispの実装を除いて、メモリダンプからの復帰をサポートする言語についてはわかりません。

これは欠落している機会です。

+0

こんにちはakuhn、私はSmalltalk By Exampleを読んできました。チップのおかげですみませんが、Smalltalkが私にとっては信じられません:) 私はとにかくショットをします。ありがとう –

+0

+1 Smalltalkに言及しています。現代産業で使われているいわゆる子孫によって、この問題の遺産が受け入れられていないのは残念です。多くの可能性、潜在的な無駄。 – Jan

0

私はMarianoが最近のEsugカンファレンスでPharo SmalltalkでFuel(オブジェクト直列化)を使用していることを実証してきました。シリアル化されていないオブジェクトにヒットしない限り、デバッグと実行を続けることができます。 Squeak smalltalkがPiで動いていて、イメージを保存しても十分です。これは簡単です。我々はまだARM用のより高速なJITting VMを待っているが(Google Summer of Codeプログラムの一部)

関連する問題