[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: