[PERL] bizarre retour de system

Fermé
sbouli Messages postés 200 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 14 août 2014 - 25 août 2010 à 16:30
sbouli Messages postés 200 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 14 août 2014 - 26 août 2010 à 16:11
Bonjour,

J'ai un script PERL qui tourne sur plusieurs machines, plusieurs fois par jour. Parfois, pour une ou 2 machines données, j'ai une erreur sur l'appel d'un fichier php, le code du script est le suivant :


@args=("/usr/bin/php", "/root/chemin/vers/le/PHP/fichier.php", "$param1", "$param2");
system (@args) == 0
	or die "failed bulk insert php system @args\nerreur failed: $?";


et lors de l'erreur, j'obtiens le log suivant :
failed bulk insert php system 
/usr/bin/php /root/chemin/vers/le/PHP/fichier.php valeur_param1 valeur_param2

erreur failed: 0

at /root/schedule/envoi_des_mails/convert_log2bdd.pl line 260.



on voit bien que le $? vaut 0 et pourtant je suis rentré dans le die alors que je test avec ==0

je comprend pas ....

au secours ...

Stéphane

4 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
25 août 2010 à 16:37
Salut,

Mets aussi $! dans ton die, pour voir l'erreur système
0
sbouli Messages postés 200 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 14 août 2014 2
25 août 2010 à 17:53
j'ai eu un retour :
Ne peut allouer de la mémoire

je ne comprend pas ... j'ai de la RAM libre :

# free
             total       used       free     shared    buffers     cached
Mem:       4078396    1054620    3023776          0      63328     768040
-/+ buffers/cache:     223252    3855144
Swap:      1044208          0    1044208


et les partitions ont de la place aussi :

# df -h
Sys. de fich.            Tail. Occ. Disp. %Occ. Monté sur
rootfs                5,0G  2,8G  1,9G  60% /
/dev/root             5,0G  2,8G  1,9G  60% /
tmpfs                 2,0G  108K  2,0G   1% /var/run
tmpfs                 2,0G     0  2,0G   0% /var/lock
/dev/root             5,0G  2,8G  1,9G  60% /dev/.static/dev
udev                  2,0G   36K  2,0G   1% /dev
tmpfs                 2,0G     0  2,0G   0% /dev/shm
tmpfs                 2,0G  108K  2,0G   1% /var/run
tmpfs                 2,0G     0  2,0G   0% /var/lock
/dev/md2              683G  2,3G  646G   1% /home



une idée ?

Stéphane
0
dubcek Messages postés 18720 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 8 mai 2024 5 615
Modifié par dubcek le 26/08/2010 à 12:32
hello
et quelle erreur s'affiche avec
die "failed bulk insert php system @args\nerreur failed: ", $?>>8 ;
0
sbouli Messages postés 200 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 14 août 2014 2
26 août 2010 à 16:11
en fais, j'ai compris, c'est un tableau que je crée en partant d'un fichier mais le fichier avait tendance à grossir sans jamais se purger donc au final mon tableau explosait la RAM et c'était déclenché par l'appel system à php qui doit prendre son petit morceau de RAM pour se lancer ... je corrige donc mon code pour ajouter une date et purger les "vieille" ligne ...

Merci !

Stéphane
0