Jemand zu Hause?Leser: 15
1
2
3
4
5
6
7
8
9
10
11
12
13
$SIG{INT} = \&Signal_Handler;
sleep(20);
#Hier müsste ich die Eingabe von STRG + C, also ^C simulieren,
#damit er in die Sub Signal_Handler springt.
sub Signal_Handler
{
die "Erkennung des Signals : $!";
}
}
perlfunc exec ein anderes Programm startest, übernimmt das die PID des aufrufenden Programms, welches selbst beendet wird. Da ist keine Kontrolle oder Rückkehr ins aufrufende Programm mehr möglich.
perlfunc system aufgerufenes Programm maximal X Sekunden brauchen darf, kannst Du mit
perlfunc alarm arbeiten und im Fall des Falles das aufgerufene Programm beenden lassen.
perlfunc kill schicken.
2015-10-05T08:45:00 LinuxerDas Problem dürfte da aber sein, dass system() auf Beendigung des Kind-Prozesses wartet und den Exitcode des Kindes liefert. Um die PID zu erhalten, müsste da wohl etwas mehr Aufwand getrieben werden.
perl -e 'system("grep ab");print "Hallo\n"'perl -e 'system("grep ab &");print "Hallo\n"'2015-10-05T13:55:54 hlubenow... aber ich weiß einfach nicht, wie's der OP gern hätte.
system("timeout", "3", "sleep", "5");
IPC::System::Simple,
Path::Class
Wie installiert man ein Modul?