Vous pourriez étudier une technique appelée checkpoint / restore. Cela vous permettra de prendre un processus en cours et d'enregistrer son état dans un ensemble de fichiers, puis de le restaurer ultérieurement.
Pour l'utiliser, commencez par installer le programme criu [ git , wiki ] ( yum install criu
ou apt install criu
).
Pour vérifier un processus en cours, créez un répertoire vide pour contenir ses fichiers et cd dans ce répertoire.
mkdir /var/tmp/checkpoint
cd /var/tmp/checkpoint
Maintenant, vérifiez le processus en cours. Dans ce cas, j'utilise le --shell-job car mon processus s'exécute dans un shell avec un tty associé.
criu dump -t 404 --shell-job
404 est le pid du processus que je veux vérifier. Lorsque je fais cela, je vois que mon processus en cours d'exécution est tué et mon répertoire / var / tmp / checkpoint est rempli avec un ensemble de fichiers nécessaires pour le restaurer.
Pour restaurer le processus, je m'assure que je suis dans le répertoire avec les fichiers de point de contrôle et fais une restauration.
cd /var/tmp/checkpoint
criu restore --shell-job
Le processus reprendra là où il s'était arrêté dans le terminal où il a été exécuté. Si je tue ce processus en cours et criu restore --shell-job
recommence, le processus reviendra au point de contrôle et redémarrera.
J'espère que cela t'aides.