Rueckgabewert eines externen Prozesses ermitteln

Rueckgabewert eines externen Prozesses ermitteln

am 27.09.2006 22:30:29 von Mark Neis

Hallo NG,

mit untenstehendem Konstrukt lese ich (in einer Schleife über mehrere
remote Server, aber das spielt hier keine Rolle) bestimmte
Registry-Keys aus. Manchmal schlägt das fehl, weil z.B. die Maschine
netztechnisch nicht erreichbar ist oder die Berechtigungen fehlen.
regdmp liefert in dem Fall einen Fehlercode zurück, den ich gerne
auswerten würde.

Gibt es eine Möglichkeit, den Rückgabewert eines externen Prozesses,
der über den Backtick-Operator aufgerufen wurde, zu ermitteln?


# --------------------------------
my $regdmp = "regdmp -m ";
my $clName = "server1";
my $regKey = "HKEY_LOCAL_MACHINE\\SOFTWARE\\irknwas\\Config";
my $expr = $regdmp." \\\\".$clName." ".$regKey;
my @vals = qx/$expr/;

foreach $item (@vals) {
# doSomething
}
# --------------------------------

Mark

--
Chris: I hate the way flash slows browsers down
Steve: Try java, that slows it down much better
[bash.org]

Re: Rueckgabewert eines externen Prozesses ermitteln

am 27.09.2006 22:42:22 von Mark Neis

Mark Neis schrieb:

>Gibt es eine Möglichkeit, den Rückgabewert eines externen Prozesses,
>der über den Backtick-Operator aufgerufen wurde, zu ermitteln?

Fast alles geht wie in der Shell...
Die Lösung heißt wohl $?

Ma 'Ingrid' rk

--
Laut Statistiken der WHO fuehren nur 0.4% aller sexuellen Kontakte zur
Geburt eines Kindes. Fuer strengglaeubige Stochastiker ist das kein
signifikanter Zusammenhang, so dass wir uns also zufaellig doch
vermehren. [Jörg Dorchain in dasr]

Re: Rueckgabewert eines externen Prozesses ermitteln

am 29.09.2006 14:31:04 von ReneeB

Mark Neis schrieb:

> Hallo NG,
>
> mit untenstehendem Konstrukt lese ich (in einer Schleife über mehrere
> remote Server, aber das spielt hier keine Rolle) bestimmte
> Registry-Keys aus. Manchmal schlägt das fehl, weil z.B. die Maschine
> netztechnisch nicht erreichbar ist oder die Berechtigungen fehlen.
> regdmp liefert in dem Fall einen Fehlercode zurück, den ich gerne
> auswerten würde.
>


Warum verwendest Du ein externes Programm? Ich würde empfehlen mit
Win32::TieRegistry zu arbeiten.

Re: Rueckgabewert eines externen Prozesses ermitteln

am 29.09.2006 15:24:03 von Mark Neis

ReneeB schrieb:

>Warum verwendest Du ein externes Programm? Ich würde empfehlen mit
>Win32::TieRegistry zu arbeiten.

Weil ich damit remote Computer abfrage, nicht die lokale Registry.
Das schien mir nach einem Blick in die Doku nicht zu gehen.

Mark

--
Laut Statistiken der WHO fuehren nur 0.4% aller sexuellen Kontakte zur
Geburt eines Kindes. Fuer strengglaeubige Stochastiker ist das kein
signifikanter Zusammenhang, so dass wir uns also zufaellig doch
vermehren. [Jörg Dorchain in dasr]

Re: Rueckgabewert eines externen Prozesses ermitteln

am 02.10.2006 12:11:00 von ReneeB

Mark Neis schrieb:

>
> Weil ich damit remote Computer abfrage, nicht die lokale Registry.
> Das schien mir nach einem Blick in die Doku nicht zu gehen.
>
> Mark
>

In der Doku habe ich das gefunden:

Remote machines

If the hash is tied to the virtual root of the registry [or the
virtual root of a remote machine's registry], then we treat hash key
strings which start with the delimiter character specially.

If the hash key string starts with two delimiters in a row, then
those should be immediately followed by the name of a remote machine
whose registry we wish to connect to. That can be followed by a
delimiter and more subkey names, etc. If the machine name is not
following by anything, then a virtual root for the remote machine's
registry is created, a hash is tied to it, and a reference to that hash
it is returned.

Re: Rueckgabewert eines externen Prozesses ermitteln

am 02.10.2006 12:26:32 von Mark Neis

ReneeB schrieb:

>Mark Neis schrieb:
>> Weil ich damit remote Computer abfrage, nicht die lokale Registry.
>> Das schien mir nach einem Blick in die Doku nicht zu gehen.

>In der Doku habe ich das gefunden:
>
>Remote machines
>
> If the hash is tied to the virtual root of the registry [or the
>virtual root of a remote machine's registry], then we treat hash key
>strings which start with the delimiter character specially.
>
> If the hash key string starts with two delimiters in a row, then
>those should be immediately followed by the name of a remote machine
>whose registry we wish to connect to. That can be followed by a
>delimiter and more subkey names, etc. If the machine name is not
>following by anything, then a virtual root for the remote machine's
>registry is created, a hash is tied to it, and a reference to that hash
>it is returned.

Mir kommt gerade der Verdacht, dass ich bei Win32::Registry geschaut
habe. Danke für den Tipp.

Mark

--
Übungsaufgabe Praktische Informatik:
Zeige, dass wenn eine Implementierung MySQL-sensitiv[1] ist, sie auf jeden
Fall auch in der Schmerzklasse der PHP-vollständigen Systeme liegt.
[VB in dasr]