Skript bleibt bei select stehen...

07/03/2008 - 14:30 von stefklep | Report spam
Hallo,

ich habe mir unter
http://www.cc-c.de/german/linux/linux-usv.php
ein Perl-Skript auf meinen Linux Server (eisfair) geladen.
Es soll regelmàßig über die serielle Schnittstelle Zustandsdaten von
einer USV einlesen, und bei Bedarf einen shutdown einleiten.

ich habe inzwischen herausgefunden wo er hàngenbleibt:

#!/usr/bin/perl

use Sys::Syslog;

$port = "/dev/ttyS0"; # Serial Port (Com1)
$wait = 10; # Loop time in seconds
$debug = 3; # 0 = silent and shutdown active
# higher number gives more output
$sdown = 5; # Minutes til shutdown if power fails

##### do not edit below #####
system "stty 2400 ixon -echo < $port";
open(COM, "+>$port") or die "can't open $port.";
select(COM);
^^^^^^^^^^^^
Hier bleibt er hàngen...

Ich habe mal das Skript mit perl -d usv.pl debugged.
Dabei konnte ich im Einzelschrittverfahren ('s') die Zeile,
an der das Skript zu hàngen scheint, ausführen. Im Folgenden wurden
Daten von der seriellen Schnittstelle ausgelesen und auch angezeigt
(printf(stderr "...")).

Es scheint also an der 'Laufzeitumgebung' zu liegen. Vielleicht
irgendein Konfigurationsparameter...
Ich hab keine Ahnung.

Hat jemand einen Tip für mich?


Stefan
 

Lesen sie die antworten

#1 stefklep
28/03/2008 - 09:12 | Warnen spam
Hallo de.comp.lang.perl.msc Leser!

Hat denn keiner einen konstruktiven Vorschlag zu machen?

Bin für jeden Tip dankbar, der mich in die richtige Richtung lenkt!

Stefan

Ähnliche fragen