ubuntuusers.de

Skripte (python, perl, java) laufen lassen

Status: Ungelöst | Ubuntu-Version: Ubuntu 14.04 (Trusty Tahr)
Antworten |

MarcelF6

Anmeldungsdatum:
17. Februar 2013

Beiträge: Zähle...

Hallo miteinander

Ich habe eine ganze Pipeline geschrieben, welche hunderte von Files bearbeiten soll. Sämtliche Files haben die Benennungsart "File000", "File001", "File002", ...

Bisher habe ich jeweils mit nohup gearbeitet und den Task wie folgt erledigt: nohup ./work File* $

Seit geraumer Zeit bekomme ich häufig aber den Fehler "no such file or directory", obwohl das nicht stimmen kann. Führe ich den Prozess nämlich von Hand für das konkrete File aus, klappt alles reibungslos.

Ich habe dann mal byobu probiert und "./work File* " laufen lassen. Auch da dasselbe Bild: Ein bis zwei Files werden bearbeitet, danach erscheint auch hier dieselbe Fehlermeldung.

Woran könnte das liegen, und wie kann ich das Problem beheben? Evtl. mit Pausen zwischen den Files? –> Wie könnte man das machen?

Danke und Gruss, Marcel

Marc_BlackJack_Rintsch Team-Icon

Ehemalige
Avatar von Marc_BlackJack_Rintsch

Anmeldungsdatum:
16. Juni 2006

Beiträge: 4687

Wohnort: Berlin

Das dürfte weniger damit zu tun haben ob Du das Programm mit nohup, screen, tmux, byobu, … laufen lässt, sondern das es offenbar Dateien gibt, die beim Start des Programms noch vorhanden sind, dann aber während dessen Laufzeit gelöscht werden.

Das Muster File* wird einmal und vor dem Start von ./work von der Shell zu den Dateinamen expandiert, welche zu dem Zeitpunkt vorhanden sind. Es werden keine Dateien berücksichtigt die erst während der Laufzeit von ./work entstehen. Und wenn vorhandene und von dem Muster erfasste Dateien während der Laufzeit von ./work gelöscht werden, bevor das Programm darauf zugreift, dann bekommst Du einen entsprechenden Fehler beim Versuch sie zu öffnen.

(Ich gehe jetzt einfach mal davon aus, dass das $ im Beispielaufruf ein Flüchtigkeitsfehler war und Du da tatsächlich & stehen hast.)

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13205

Außerdem hängt es davon ab, wie die Dateien bearbeitet werden. Wenn man z.B. eine Datei öfters öffnet und schließt, dann steigt natürlich die Wahrscheinlichkeit, dass sie irgendwann nicht mehr gefunden wird, wenn irgendetwas auch Dateien löscht. Wenn Du Dein Skript hier postest, können wir vielleicht noch mehr sagen.

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11260

Wohnort: München

MarcelF6 schrieb:

Ich habe eine ganze Pipeline geschrieben, welche hunderte von Files bearbeiten soll.

Dann sorg am besten erst mal dafür, dass alle Programme bzw. Skripte, die da genutzt werden, saubere Fehlermeldungen erzeugen können. Wenn ein Fehler beim öffnen einer Datei auftritt, ist es doch das mindeste, dass in der Fehlermeldung mit ausgegeben wird, welchen Pfad die gehabt haben soll.

Antworten |