Schrift
[thread]6286[/thread]

top, ps parsen? oder anders??: läuft ein perlprog schon? in LINUX (Seite 3)

Leser: 1


<< |< 1 2 3 >| >> 24 Einträge, 3 Seiten
betterworld
 2004-05-27 21:20
#82677 #82677
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Das ist leider keine gute Fehlerbehandlung. Wenn fork naemlich -1 zurueckgibt, ist ein Fehler aufgetreten.
Crian
 2004-05-28 15:20
#82678 #82678
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
[quote=betterworld,27.05.2004, 19:20]Das ist leider keine gute Fehlerbehandlung. Wenn fork naemlich -1 zurueckgibt, ist ein Fehler aufgetreten.[/quote]
Ja, aber das ignoriert er auch, die Codestück sollten sich gleich verhalten. Aber Du hast natürlich Recht, sauberer wäre es, auf den Fehler zu prüfen.

Fragt sich allerdings, was man im Fehlerfall machen will, außer auch mit exit rauszugehen. Vielleicht noch eine Meldung bringen? Das merkt man dann aber auch daran, dass der Child nicht gestartet wurde.\n\n

<!--EDIT|Crian|1085743316-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Strat
 2004-05-28 22:35
#82679 #82679
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=Ishka,24.05.2004, 13:31]
Code: (dl )
$0="identifizierungsstring_3r2argg4";
[/quote]
irgendwas $0 zuzuweisen funktioniert, wenn ich mich recht erinnere, nur unter Linux, nicht jedoch unter Win32 oder Solaris...

bei ps -ef bekommt man doch auch die Aufrufparameter gelistet... dann koennte man sich den identifizierungsstring sparen...

nebenbei koennte es besser sein, nicht nach $0, sondern nach $basename wie in
Code: (dl )
1
2
use File::Basename ();
my $basename = &File::Basename::basename($0);

zu suchen...

unter windows habe ich dafuer (lang, lang ists her) die perl.exe einfach mehrfach umbenannt und jedes script mit der (fast) gleichnamigen exe gestartet; so konnte ich mit Perl im taskmanager einfach herausfinden, was da gerade laeuft... aber so toll finde ich diese loesung auch nicht mehr...\n\n

<!--EDIT|Strat|1085769423-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
pq
 2004-06-01 04:30
#82680 #82680
User since
2003-08-04
12209 Artikel
Admin1
[Homepage]
user image
[quote=Crian,28.05.2004, 13:20]Fragt sich allerdings, was man im Fehlerfall machen will, außer auch mit exit rauszugehen. Vielleicht noch eine Meldung bringen? Das merkt man dann aber auch daran, dass der Child nicht gestartet wurde.[/quote]
auf jeden fall sollte man dann mit einem exit-status ungleich 0 rausgehen,
also exit 1 oder die ...

zum thema 'prüfen, ob das programm schon läuft':
da würde ich auf jeden fall die lösung mit dem lockfile implementieren,
das ist die sicherste methode, da die flock-operation atomar ist.
ein prüfen auf die prozessliste ist unsicher, denn zwischem dem prüfen und dem starten
kann umbemerkt ein anderer prozess gestartet worden sein.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
<< |< 1 2 3 >| >> 24 Einträge, 3 Seiten



View all threads created 2004-05-24 14:44.