[PERL] bizarre retour de system

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

  1. Modérateur
    Salut,

    Mets aussi $! dans ton die, pour voir l'erreur système
    1. 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
      1. Contributeur
        hello
        et quelle erreur s'affiche avec
        die "failed bulk insert php system @args\nerreur failed: ", $?>>8 ;
        1. 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