hallo ich hab folgendes Problem ich hab ein perl script geschrieben, in dem eine while true schleife läuft. So weit so gut. läuft auch wunder bar. mein problem ist nur, das ich dieses script von einem andern script aus starten und stoppen möchte. von der commando zeile aus kan ich ohne problem das script mit & in den hintergrund schicken. Von einem andern script aus funktioniert das allerdings nicht :-( Hat jemand eine idee, wie ich es schatffe aus einem script heraus (z.b cron) dieses While-script so zu starten, das das aufrufende script wieder die kontrolle hat ? Ich hoffe, ich erkläre das Problem verständlich. Das aufrufende script warte ja bis zur beendung des aufgerufenen, das beendet sich aber wegen der while-scheife natürlich nicht, also muss ich es irgentwie in den background bekommen, damit die kontrolle wieder an das aufrufende script zurückgeht. bitte schreibt mir eure ideen, hab den ganzen abned versucht, mit SIG's den prozess in den hintergrund zu bekommen, vielen Dank Stephan --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hi, On Thu, Nov 23 2000 at 00:56 +0100, stephan.helas@da-ag.com wrote:
ich hab ein perl script geschrieben, in dem eine while true schleife läuft. So weit so gut. läuft auch wunder bar. mein problem ist nur, das ich dieses script von einem andern script aus starten und stoppen möchte. von der commando zeile aus kan ich ohne problem das script mit & in den hintergrund schicken. Von einem andern script aus funktioniert das allerdings nicht :-(
Das sollte eigentlich aus einem Script heraus genauso funktionieren, wie auf der Kommandozeile: [sttr]/home/sttr/9> cat ttt.pl #!/usr/local/bin/perl -w 1 while 1; [sttr]/home/sttr/9> cat ttt.sh #!/bin/sh ./ttt.pl & [sttr]/home/sttr/9> psg ttt PID TTY STAT TIME COMMAND [sttr]/home/sttr/9> ./ttt.sh [sttr]/home/sttr/9> psg ttt PID TTY STAT TIME COMMAND 2130 pts/2 R 0:01 perl -w ./ttt.pl [sttr]/home/sttr/9> kill 2130 Ciao, Stefan --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
stephan.helas@da-ag.com schrieb in 1,2K (21 Zeilen):
hallo
ich hab folgendes Problem
... meine Zeilen sind zu lang. Ok, dann reformatieren wir die doch mal...
So weit so gut. läuft auch wunder bar. mein problem ist nur, das ich dieses script von einem andern script aus starten und stoppen möchte. von der commando zeile aus kan ich ohne problem das script mit & in den hintergrund schicken. Von einem andern script aus funktioniert das allerdings nicht :-(
Klar geht das, auch unter perl: system ("script.pl &"); oder sub start_script { exec ("script.pl"); }; &forkfunc (\&start_script): oder einfach forken und dann ein exec machen. -Wolfgang PS: Proc::Forkfunc findet man im www.cpan.org --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
participants (3)
-
stefan@troeger.st
-
stephan.helas@da-ag.com
-
weissel@netcologne.de