Potresti esaminare una tecnica chiamata checkpoint / restore. Ciò ti consentirà di eseguire un processo in esecuzione e di salvarne lo stato in un set di file, quindi ripristinarlo in un secondo momento.
Per usarlo, inizia installando il programma criu [ git , wiki ] ( yum install criu
o apt install criu
).
Per controllare un processo in esecuzione, creare una directory vuota per contenere i suoi file e cd in quella directory.
mkdir /var/tmp/checkpoint
cd /var/tmp/checkpoint
Ora controlla il processo in corso. In questo caso sto usando il lavoro --shell poiché ho il mio processo in esecuzione in una shell con un tty associato.
criu dump -t 404 --shell-job
404 è il pid del processo che voglio controllare. Quando lo faccio, vedo che il mio processo in esecuzione viene ucciso e la mia directory / var / tmp / checkpoint viene popolata con un set di file necessari per ripristinarlo.
Per ripristinare il processo, mi assicuro di essere nella directory con i file del checkpoint e di eseguire un ripristino.
cd /var/tmp/checkpoint
criu restore --shell-job
Il processo riprenderà da dove era stato interrotto nel terminale in cui è stato eseguito. Se interrompo questo processo ed eseguo di criu restore --shell-job
nuovo, il processo tornerà al punto di controllo e si riavvierà.
Spero che sia di aiuto.