Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

probleme d'exécution de process

3 réponses
Avatar
Gerard Breiner
Bonjour,

J'ai une boucle foreach dans laquelle je teste si des fichiers de type fifo
existent.
Si le fichier existe, alors les données qu'il contient sont ajoutés dans une
base MySQL par la commande :
system ("(/usr/bin/mysql -e 'source /var/syslog-ng-pipe/$dbname' $dbname)
&");
Si le fichier tyty n'existe pas, alors il est créé par la commande
"mkfifo", puis je mets mon drapeau $fifoCreated = 1.
Ensuite, en dehors du foreach, je teste si $fifoCreated ==1 alors je
relance syslog-ng.
Normalement, syslog-ng ajoute des logs dans mes fichiers fifos, hors mes
fichiers reste vides comme si ils avaient été créés après que syslog-ng ait
été relancé.

Voici la partie de code concernée.

my $fifoCreated = 0;
foreach my $dbname (@dblist) {
chomp($dbname);
$file = "/var/syslog-ng-pipe/".$dbname;
if (-e $file && -p $file) {
system ("(/usr/bin/mysql -e 'source
/var/syslog-ng-pipe/$dbname' $dbname) &");
} else {
system ("/usr/bin/mkfifo $file");
$fifoCreated = 1;
} # end if else
} #end foreach
if ($fifoCreated == 1) {
system ("(/etc/init.d/syslog-ng restart) ");
foreach my $dbname (@dblist) {
chomp($dbname);
system ("(/usr/bin/mysql -e 'source
/var/syslog-ng-pipe/$dbname' $dbname) &");
} #end foreach
} #enf if


Bien cordialement

Gérard Breiner
Institut D'Astrophysique Spatiale
Orsay

3 réponses

Avatar
Gerard Breiner
personne ne sait répondre à cela ? Je croyais pourtant qu'il y avait des
experts.

Gérard
"Gerard Breiner" a écrit dans le message de
news:cl7ph4$u0t$
Bonjour,

J'ai une boucle foreach dans laquelle je teste si des fichiers de type
fifo

existent.
Si le fichier existe, alors les données qu'il contient sont ajoutés dans
une

base MySQL par la commande :
system ("(/usr/bin/mysql -e 'source /var/syslog-ng-pipe/$dbname' $dbname)
&");
Si le fichier tyty n'existe pas, alors il est créé par la commande
"mkfifo", puis je mets mon drapeau $fifoCreated = 1.
Ensuite, en dehors du foreach, je teste si $fifoCreated ==1 alors je
relance syslog-ng.
Normalement, syslog-ng ajoute des logs dans mes fichiers fifos, hors mes
fichiers reste vides comme si ils avaient été créés après que syslog-ng
ait

été relancé.

Voici la partie de code concernée.

my $fifoCreated = 0;
foreach my $dbname (@dblist) {
chomp($dbname);
$file = "/var/syslog-ng-pipe/".$dbname;
if (-e $file && -p $file) {
system ("(/usr/bin/mysql -e 'source
/var/syslog-ng-pipe/$dbname' $dbname) &");
} else {
system ("/usr/bin/mkfifo $file");
$fifoCreated = 1;
} # end if else
} #end foreach
if ($fifoCreated == 1) {
system ("(/etc/init.d/syslog-ng restart) ");
foreach my $dbname (@dblist) {
chomp($dbname);
system ("(/usr/bin/mysql -e 'source
/var/syslog-ng-pipe/$dbname' $dbname) &");
} #end foreach
} #enf if


Bien cordialement

Gérard Breiner
Institut D'Astrophysique Spatiale
Orsay




Avatar
Paul Gaborit
À (at) Thu, 21 Oct 2004 16:37:20 +0200,
"Gerard Breiner" écrivait (wrote):
personne ne sait répondre à cela ? Je croyais pourtant qu'il y avait des
experts.


"Experts" ? Peut-être.

Devins ? Non !

À votre service ? Encore moins !!!

Votre solution marche-t-elle à la main (en simulant à la main ce qu'est censé
faire le script Perl) ?

Si oui, décrivez-nous comment vous faites à la main et nous pourrons vous dire
si le script fait la même chose.

Si non, ce n'est pas un problème de Perl.

--
Paul Gaborit - <http://www.enstimac.fr/~gaborit/>
Perl en français - <http://www.enstimac.fr/Perl/>

Avatar
Gerard Breiner
Désolé, je croyais à un problème de mon script mais aucune solution n'a été
trouvée; c'est normal, il n'y avait pas de problème.

Bien cordialement
Gérard Breiner
"Paul Gaborit" a écrit dans le message de
news:

À (at) Thu, 21 Oct 2004 16:37:20 +0200,
"Gerard Breiner" écrivait (wrote):
personne ne sait répondre à cela ? Je croyais pourtant qu'il y avait des
experts.


"Experts" ? Peut-être.

Devins ? Non !

À votre service ? Encore moins !!!

Votre solution marche-t-elle à la main (en simulant à la main ce qu'est
censé

faire le script Perl) ?

Si oui, décrivez-nous comment vous faites à la main et nous pourrons vous
dire

si le script fait la même chose.

Si non, ce n'est pas un problème de Perl.

--
Paul Gaborit - <http://www.enstimac.fr/~gaborit/>
Perl en français - <http://www.enstimac.fr/Perl/>