問題タブ [process-migration]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
process - C/C++ プロセスをフリーズして、別のホストで続行できますか?
「コア」ファイルを生成し、別のマシンにコピーしてから、そのマシンでコア ファイルの実行を続行できるかどうか疑問に思っていました。
実行中のプロセスからコア ファイルを作成する gcore ユーティリティを見てきました。しかし、コアファイルに基づいて gdb が実行を継続できるとは思いません。
ヒープ/スタックをダンプして後で復元する方法はありますか?
windows - Windows で単一のプロセスを休止状態にする
Windows の単一プロセスの状態をファイルに保存し、後ですべてのメモリが既にロードされている状態で実行中のプロセスを実行中の状態に復元するライブラリやソフトウェア、または方法はありますか?
開いているハンドルを再度開いたり、スレッドを開始したりする必要があることは承知していますが、少なくともヒープと単一のスレッド スタックを復元できますか?
この質問を見ましたが、答えはすべてLinux用であり、ほとんどの人はそれができないと言っています。
すべてのデータ構造をシリアライズ可能にして自分でできることは知っていますが、それがなくても可能かどうか知りたいです。
.net - アプリケーション状態移行フレームワーク - .Net
あるコンピューターでアプリケーションを操作し、現在のセッションをシャットダウンして、別のコンピューターでそのセッションを再開できるようにしたいという夢があります。主に特定のマシンなどに固有のネイティブ リソースが原因で、.Net でプロセスをシリアル化して別のマシンに移動することは、私が知る限り不可能です。うまくいかない理由が多すぎる。おそらく現在これに最も近いのは VM ですが、それは私が探しているものではありません。
私の具体的な質問は次のとおりです。このタイプのアプリケーションを有効にするのに役立つ.Net上に構築されたフレームワークはありますか? また、.Net にない場合、.Net 上に構築されていないフレームワークで、おそらくアーキテクチャに関する洞察を得ることができるものはありますか?
そのようなフレームワークは、ネイティブ リソースへのアクセスをアプリケーションの周辺にプッシュし、共通のネイティブ リソース (ファイル I/O、グラフィックス コンテキスト) を抽象化し、「休止状態にできる」サブシステム ビルディング ブロックを構築して、起動/アプリケーションを停止します。これはおそらく、抽象化を使用しないため、.Net のフレームワーク部分の多くをまだ使用できる状態にしないでしょうが、私はそれで問題ありません。
process-migration - プロセスの移行に DMTCP を使用できますか?
タスクの移行に dmtcp を使用しようとしています。同じコンピューターで dmtcp_restart を実行すると、正しく機能します。ただし、生成されたチェックポイント ファイルと関連する入出力ファイルがターゲット コンピュータに転送された後、dmtcp_restart によってセグメンテーション エラーが発生します。dmtcp はタスクの移行をサポートしていますか? もしそうなら、誰かが解決策(または他のツール)を提案してもらえますか?
よろしくお願いします。
android - Android モバイル デバイスでのプロセス移行
実行中のプロセス(アプリなど)のプロセス制御ブロックにアクセスし、そのコード、データ、およびシステムデータをそのAndroidモバイルデバイスから別のデバイスに転送する必要があります。そのプロセスが最初のデバイスに残された同じポイントから2番目のデバイスで実行できるようにします。私の質問は、この目的のために実行中のプロセスの PCB を表示またはコピーできるかどうかです。そのアプリ/プロセスがまったく存在しない場合、実行中のプロセスをあるAndroidモバイルデバイスから別のAndroidモバイルデバイスに移行する方法はありますか? そのアプリケーションがインストールされている別のデバイスからアプリケーションを受信して (メモリ上の理由などにより) インストールせずにアプリケーションを実行する方法は? 質問を明確にしたいと思います。コアレベルで親切に答えてください。前もって感謝します。
save - Criu/crtools の復元が別のマシンでプロセスの復元に失敗する
CRIUを使用してプロセスをディスクに保存しようとしています。同じマシンにプロセスを保存して復元できますが、保存したイメージを別のマシンに復元しようとするとエラーが発生します。
コマンドを実行して、yes
そのpidを使用して見つけましたps aux|grep yes
次に、保存するために次のことを行いました。
次に、「ダンプされた」ディレクトリを別のマシンにコピーし、次のコマンドを使用して復元しようとしました。
しかし、次のエラーが発生しました
これを解決するにはどうすればよいですか? まったく同じ構成を持つ別のマシンにプロセスを移行したいと考えています。
構成:
Ubuntu 12.04 64 ビット デスクトップ
Linux 3.11.0.19-ジェネリック
RAM: 4GB
linux - ネイティブ マシンから仮想マシンにプロセスを転送することはできますか?
コンピューターで (ネイティブに) 実行されているプロセスfooがあるとします。しばらく実行した後、このプロセスを仮想マシンに移動したいと考えています。たとえば、QEMU または Virtualbox を使用して VM を作成します。これを行うことは可能ですか?
私の理解では、可能であれば非常に困難です。スタックとヒープを複製する必要があります。両方の場所で仮想アドレスを変更する必要があります。また、CPU の現在の状態をサンプリングして、VM で再作成する必要があります。これらの仮定は正しいですか、それとも何か不足していますか?
これがopenMosix / LinuxPMIの形式でコンピューティング クラスタ用に実装されているという証拠をいくつか見つけましたが、物理マシンから仮想マシンへの移行に関しては何もありません。