Programm starten und PID zurückgeben
Akela
- perl
0 barfuesser0 Akela0 barfuesser0 Akela
0 Akela
Hallo,
ich möchte innerhalb eines Perlscripts unter win32 ein Programm starten und dessen PID erhalten.
Wie stelle ich das an ?
ciao Andreas
Hallo,
ich möchte innerhalb eines Perlscripts unter win32 ein Programm starten und dessen PID erhalten.
Wie stelle ich das an ?ciao Andreas
in der Variablen $$ sollte die PID stehen. Alternativ kannst Du auch $PID oder $PROCESS_ID abfragen.
barfuesser
Hallo,
Hallo,
in der Variablen $$ sollte die PID stehen. Alternativ kannst Du auch $PID oder $PROCESS_ID abfragen.
barfuesser
Was Du hier beschreibst, ist die PID des aktuellen scripts. Ich brauche aber die PID des gestarteten Programms. So will ich z.B. einen Notepad.exe starten und davon die PID erfahren.
ciao Andreas
Was Du hier beschreibst, ist die PID des aktuellen scripts. Ich brauche aber die PID des gestarteten Programms. So will ich z.B. einen Notepad.exe starten und davon die PID erfahren.
ciao Andreas
Sorry, Missverstaendnis von mir.
Sieh Dir mal in der MSDN den Befehl CreateProcess an, der sollte tun was Du möchtest. Du benötigst allerdings die Bibliothek Win32::API.
barfuesser
Danke barfuesser,
hab die Lösung gepostet, es geht auch mit Perl-Modulen.
ciao Andreas
Falls es jemanden interessiert, hier die Lösung
ciao Andreas
sub start_prog
{
my ( $cmd, $args ) = @_;
my $process;
# Prozess starten und PID ermitteln
my $ok = Win32::Process::Create( $process,
$cmd,
$args,
0,
DETACHED_PROCESS,
'.'
);
my $rc = ( $ok == 0 ) ? $ok : $process->GetProcessID();
return( $rc );
} # start_prog()