Gibt es eine Möglichkeit, einen laufenden Prozess auf die Festplatte zu übertragen, um ihn später wiederherzustellen?

11

Normalerweise arbeite ich mit vielen Instanzen von Visual Studio, die für verschiedene Projekte geöffnet sind. Ich habe mich gefragt, ob es eine Möglichkeit gibt, einen laufenden Prozess auf die Festplatte zu übertragen, anstatt ihn zu schließen, damit ich ihn im selben Zustand wie zuvor öffnen kann schnell.

Ich habe eine Menge freien Speicherplatz, daher würde es mir nichts ausmachen, den gesamten Prozess-Snapshot zu speichern, wenn ich Zeit beim Öffnen der Lösung und beim Warten auf das Laden der Projekte sparen würde.

Sijin
quelle
+1: Interessante Idee! (Natürlich ist dies genau das, was der Virtual Memory Manager bei Bedarf automatisch für Sie zu tun versucht.)
Andy
2
FWIW, so etwas ("nicht ausgeführt", basierend auf einem Core-Dump) ist traditionell Teil des Erstellungsprozesses für Emacs auf UNIX-Systemen. Siehe zum Beispiel xemacs.org/Architecting-XEmacs/unexec.html
coneslayer
1
Das wurde speziell für Emacs entwickelt, nein? Ich frage mich, ob eine Allzweckversion geschrieben werden könnte.
Andy
Ich habe schon seit einiger Zeit nach so etwas gesucht. Es wäre besonders hilfreich, wenn Sie einen Video-Encoder anhalten möchten!
Durchbruch
1
Es scheint, als gäbe es so etwas für Linux linux.org/apps/AppId_2488.html. Ich denke jedoch, dass das Problem offene Dateihandles, Netzwerk-Sockets usw. sein werden, was dies zu einem nicht trivialen Problem macht
Sijin

Antworten:

2

Ich mache dies mit VirtualBox von Sun zum Trennen von Projekten. Es ist auch praktisch, weil Sie Schnappschüsse machen können.

Der Nachteil ist, dass Sie dort ein ganzes Betriebssystem installieren müssen.

Inkognito
quelle
3
Ja, ich verwende VirtualBox für Snapshots auf Betriebssystemebene. Dort kam mir die Idee für einen Snapshot auf Anwendungsebene. Es scheint, als gäbe es so etwas für Linux linux.org/apps/AppId_2488.html. Ich denke jedoch, dass das Problem offene Dateihandles und dergleichen sein werden, was dies zu einem nicht trivialen Problem macht.
Sijin
0

Mit ProcessExplorer von MS Sysinternals können Sieeinen Prozess anhalten . hilft das / macht den Job?


quelle
5
Leider nicht ... Ich wollte den Prozess aus dem Speicher nehmen, um ihn freizugeben, und nicht einfach die Anwendung anhalten. Obwohl dies ein sehr nützliches Programm für CPU-intensive Anwendungen ist, müssen Sie möglicherweise pausieren!
Durchbruch
Durch das Anhalten eines Prozesses werden alle anderen Prozesse, die einige Windows-Nachrichten an ihn senden, effektiv eingefroren. Es kommt vor, dass einige Prozesse gerne Nachrichten an andere Prozesse senden und einige Prozesse gerne Ziele für solche Broadcasts sind. Das Unterbrechen einiger Prozesse ist also harmlos, in anderen Fällen beeinträchtigt es jedoch Ihre Arbeit mit dem Computer. Und noch etwas. Einige Prozesse, die nach einer lang anhaltenden Unterbrechung wieder aufgenommen wurden, frieren ein und
beanspruchen
Es gibt auch ein Befehlszeilenprogramm pssuspend von MS Sysinternals. Sie finden es dort: technet.microsoft.com/en-us/sysinternals/bb897540 . Es ist Teil eines PsTools-Pakets: technet.microsoft.com/en-us/sysinternals/bb896649, wo Sie zum Beispiel auch ein pskill- Tool finden können, das zum Beispiel nach der Wiederaufnahme eines Prozesses ziemlich praktisch ist und viel zu aufgeregt wird .
Roland Pihlakas
1
@Breakthrough, aber wenn der Prozess angehalten wird, gibt er Speicherplatz auf (da andere Programme Speicher verwenden, wird dieser ausgelagert), ohne jemals zu versuchen, ihn zurückzugewinnen, bis Sie ihn wieder aufnehmen. Dies ist wirklich der nächstgelegene / sicherste Weg, um das zu bekommen, was Sie wollen - ein ausgelagertes angehaltenes Programm ist im Grunde ein sicher gespeicherter Schnappschuss davon, nur einer, der beim Neustart verloren geht.
Binki
-1

Mit WinDbg (Microsoft-Tool) können Sie einen Speicherauszug des aktuellen Status eines Windows-Computers erstellen. Normalerweise wird dies zur Analyse von Problemen verwendet, aber möglicherweise kann es auch Ihren Anforderungen entsprechen. Suchen Sie nach den Schlüsselwörtern WinDbg und dump für weitere Informationen. Möglicherweise besteht sogar die Möglichkeit, nur einzelne Prozesse zu sichern.

Simon D.
quelle
Die Dump-Datei kann nicht zum Wiederherstellen des Prozesses verwendet werden.
user2284570