Thread Befehl system(): Aufruf eines Programms im Perl-Programm (11 answers)
Opened by hotel_sierra at 2003-09-08 12:06

hotel_sierra
 2003-09-08 12:06
#85538 #85538
User since
2003-09-08
3 Artikel
BenutzerIn
[default_avatar]
Hallo Listener

Unterm Betriebssystem Unix soll ein Perl-Programm laufen, welches ein zweites unabhängiges Perl-Programm startet.

Dafür gibt es zwei Programmaufrufe:

exec() und system().

exec() hat den Nachteil, dass das aufzurufende Programm beendet wird.

Im ersten Programm schreibe ich folgende Zeile:

Code: (dl )
print LOG system("/usr/meinBereich/Programm2.pl", $Variable1)."\n";


Im Log des ersten Programms wird mir der Aufruf des zwiten Programms einmal bestätigt.
Im Log des zweiten Programms wird mir geschrieben, dass das Programm zweimal gestartet wird.

Die Prozessanzeige unter Unix bestätigt, dass das zweite Programm zweimal läuft:
Code: (dl )
1
2
3
hose 11775 24182 0 19:27:22 ? sh -c /usr/meinBereich/Programm2.pl "000000000017148"
hose 11777 11693 4 19:27:22 ? /usr/local/bin/perl /usr/meinBereich/Programm2.pl 000000000017148
hose 11776 11775 4 19:27:22 ?/usr/local/bin/perl /usr/meinBereich/Programm2.pl 000000000017148


Wo liegt der Fehler? oder wie kann ich verhindern, dass der Aufruf system() das zweite Programm zweimal startet.

Gruß und im vorraus DANKE

Holger

View full thread Befehl system(): Aufruf eines Programms im Perl-Programm