C'è un modo per eseguire l'istantanea di un processo in esecuzione su disco per ripristinarlo in un secondo momento?


11

Di solito lavoro con molte istanze di Visual Studio aperte a diversi progetti, mi chiedevo se esiste un modo per snapshot / ibernazione di un processo in esecuzione su disco invece di chiuderlo in modo da poterlo aprire nello stesso stato in cui era velocemente.

Ho un sacco di spazio libero su disco, quindi non mi dispiacerebbe salvare l'intero snapshot del processo se mi risparmiasse tempo ad aprire la soluzione e ad attendere il caricamento dei progetti.


+1: idea interessante! (Naturalmente questo è esattamente ciò che il gestore della memoria virtuale sta cercando di fare automaticamente per te come e quando richiesto.)
Andy

2
FWIW, qualcosa del genere ("unexec", basato su un dump principale) è tradizionalmente parte del processo di generazione di Emacs su sistemi UNIX. Vedi, ad esempio, xemacs.org/Architecting-XEmacs/unexec.html
coneslayer

1
È stato progettato specificamente per emacs no? Mi chiedo se sia possibile scrivere una versione per scopi generici.
Andy,

Ho cercato qualcosa di simile per un po 'di tempo ormai. Sarebbe particolarmente utile se volessi mettere in pausa un codificatore video!
Breakthrough

1
Sembra che ci sia qualcosa di simile per Linux linux.org/apps/AppId_2488.html Comunque penso che il problema sarà la gestione di file aperti, socket di rete ecc., Che lo rendono un problema non banale
Sijin

Risposte:


2

Faccio questo usando VirtualBox da Sun per separare i progetti. È anche utile perché puoi scattare istantanee.

Lo svantaggio è che devi inserire un intero sistema operativo lì.


3
Sì, utilizzo VirtualBox per snapshot a livello di sistema operativo, è qui che mi è venuta l'idea per uno snapshot a livello di applicazione. Sembra che ci sia qualcosa di simile per Linux linux.org/apps/AppId_2488.html Comunque penso che il problema sarà gestire file aperti e simili, il che rende questo un problema non banale.
Sijin,

0

ProcessExplorer di MS Sysinternals consente di sospendere un processo. questo aiuta / fa il lavoro?


5
Sfortunatamente no ... Volevo eliminare il processo dalla memoria per liberarlo, non semplicemente mettere in pausa l'applicazione. Anche se questo è un programma molto utile per le applicazioni ad alta intensità di CPU che potrebbe essere necessario mettere in pausa!
Breakthrough

La sospensione di un processo blocca in modo efficace tutti gli altri processi che gli vengono inviati per inviare alcuni messaggi di Windows. Accade così che ad alcuni processi piaccia inviare messaggi ad altri processi e ad alcuni processi piaccia essere target per tali trasmissioni. Quindi, sospendere alcuni processi è innocuo, ma per altri casi interferirà con il tuo lavoro con il computer. E un'altra cosa. Alcuni processi, dopo essere stati ripresi da una sospensione di lunga durata, si bloccheranno e porteranno tutta la CPU a compensare tutto il tempo perso
elaborando

Esiste anche un'utilità della riga di comando pssuspend di MS Sysinternals. Puoi trovarlo qui: technet.microsoft.com/en-us/sysinternals/bb897540 . Fa parte di un pacchetto PsTools: technet.microsoft.com/en-us/sysinternals/bb896649 dove puoi anche trovare ad esempio uno strumento pskill , che è ad esempio piuttosto utile dopo aver ripreso un processo e sembra troppo eccitato .
Roland Pihlakas,

1
@Breakthrough, ma se il processo viene sospeso, rinuncerà alla memoria (poiché altri programmi utilizzano la memoria causeranno il paging di questo) senza mai provare a recuperarlo fino a quando non lo riprendi. Questo è davvero il modo più vicino / più sicuro per ottenere ciò che vuoi: un programma sospeso scambiato sostanzialmente è un'istantanea memorizzata in modo sicuro, solo uno che si perde al riavvio.
binki,

-1

È possibile utilizzare WinDbg (strumento Microsoft) per creare un dump dello stato corrente di un computer Windows. Di solito questo è usato per analizzare i problemi, ma forse potrebbe servire anche alle tue esigenze. Cerca parole chiave WinDbg e dump per ulteriori informazioni, forse c'è anche un'opzione per scaricare solo singoli processi.


Il file di dump non può essere utilizzato per ripristinare il processo.
user2284570
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.