29. März 2024

fiber opticWin32::Daemon;
Win32::Daemon::StartService();

while (SERVICE_START_PENDING != Win32::Daemon::State()) {
sleep(1); }

Win32::Daemon::State(SERVICE_RUNNING);

while (1) {
open FOUT, „>>c:\\win32testserv.log“;
print FOUT localtime() . „\n“;
close FOUT;
sleep 3;
if (Win32::Daemon::State() == SERVICE_STOP_PENDING) {
open FOUT, „>>c:\\win32testserv.log“;
print FOUT „Jetzt ist aber Schluss\n“;
close FOUT;
exit 0;
} }

Win32::Daemon::StopService();
Win32::Daemon::State(SERVICE_STOPPED);

#Nennen wir das obenstehende Skript ‚test.pl‘ und sagen wir, das Skript läge unter ‚c:\scripts‘.
#Wir können nun diese Datei mit dem folgenden Befehl als Dienst registrieren:
#
#perl win32serv.pl install Test c:\\scripts\\test.pl
#
#Der nun installierte Dienst kann mit ’net start Test‘ gestartet
#werden und bewirkt, dass alle drei Sekunden das aktuelle Datum in einer Log-Datei festgehalten wird.