Ich habe ein lang laufendes Skript, das jede Stunde eine Datei öffnet, druckt und schließt die Datei. Ich habe kürzlich sehr selten festgestellt, dass der Druck fehlschlägt, nicht weil ich den Status des Drucks selbst teste, sondern aufgrund fehlender Einträge in der Datei, bis das System tatsächlich neu gestartet wird!was könnte einen Druckfehler in Perl verursachen?
Ich Trap für Datei öffnen Fehler und schreibe eine Nachricht an Syslog, wenn dies passiert, und ich sehe keine offenen Fehler, so dass ich jetzt vermute, es könnte der Druck, der fehlschlägt. Ich halte die Druckfehler nicht fest, was meiner Meinung nach die meisten Leute nicht tun, aber ich werde jetzt diesen einen Druck aktualisieren.
In der Zwischenzeit ist meine Frage, weiß jemand, welche Arten von Situationen könnte eine Druckanweisung fehlschlagen, wenn es viel Speicherplatz und keine Konkurrenz für eine Datei, die im Append-Modus erfolgreich geöffnet wurde?
gute Vermutung, aber ich sah nur und hatte 67 GB freien Speicher zu der Zeit. Ich sah auch das gleiche Skript, das versuchte, diese Datei zu aktualisieren, schreibt gleichzeitig eine komprimierte Datei über Compress :: Zlib jede Sekunde und es blieb für 30 Sekunden stehen, bevor der Druck fehlschlug und sofort um den Zeitpunkt des Drucks neu gestartet wurde. So scheint es, das Dateisystem war vorübergehend "nicht verfügbar"? –
Wenn Ihr Dateisystem vorübergehend nicht verfügbar war, was bedeutet, dass Sie wahrscheinlich einen Festplattenfehler haben, überprüfen Sie Ihr Systemprotokoll. – OmnipotentEntity