Re: Récupérer un script en cours d'execution
Le vendredi 11 juin 2010 à 03:28 +0200, Goldy a écrit :
> Bonsoir à tous,
>
Bonjour,
il est possible de générer un fichier core avec la commande gcore
(paquet gdb) :
$ gcore PID
D'après mes tests, le fichier core généré contient le code source du
script bash exécuté.
Procédure de test :
Fichier test.sh :
#!/bin/sh
while(true) ; do
echo "toto"
sleep 2
done
Script lancé dans un terminal, puis le fichier source supprimé :
jdpillon@devel:~$ lsof | grep test.sh | grep deleted
test.sh 20157 jdpillon 10r REG 8,17 55
344084 /home/jdpillon/bin/test.sh (deleted)
jdpillon@devel:~$
Création du fichier core :
jdpillon@devel:~$ gcore 20157
0x001ad422 in __kernel_vsyscall ()
Saved corefile core.20157
jdpillon@devel:~$
Le fichier core.20157 contient le code source du fichier test.sh. En
utilisant grep, sed, ou autre il doit être possible de ne récupérer que
le code source au milieu de ce fichier binaire.
Le fait d'utiliser gcore n'affecte en rien le processus.
Cordialement
--
Jacques-Daniel PILLON
Reply to: