Was bedeutet plötzlich "Textdatei beschäftigt" beim Aufrufen eines Skripts?

10
bash: ./myscript: /usr/bin/env: bad interpreter: Text file busy

"Myscript" beginnt mit #!/usr/bin/env python. Nur ein erneuter Startversuch behebt das Problem.

Warum wird das Systemprogramm envsporadisch "beschäftigt"? Kann es verursacht werden durch prelink(aber cron sollte es zu diesem Zeitpunkt nicht starten ...)

Vi.
quelle
1
Es ist nicht envbeschäftigt, es ist das Skript selbst. (Höchstwahrscheinlich von einem Redakteur oder Zuschauer.)
David Schwartz
3
Hier bedeutet "beschäftigt" laut execve (2) "ein Prozess hat ./myscript zum Schreiben geöffnet " . Ein Editor tut dies normalerweise nur, während er Änderungen auf der Festplatte speichert.
user1686
OK, jemand sollte dies als Antwort hinzufügen.
Vi.
stackoverflow.com/questions/16764946/… hat mehr Diskussion.
Jesse Glick

Antworten:

5

Kommentatoren sagen, dass das Skript beschäftigt ist, nicht envoder pythonund weil es vom Texteditor gespeichert wird.

Vi.
quelle
3

Normalerweise ist es "./myscript", das beschäftigt ist, weil ein anderes Programm die Datei ändert. Dies kann ein Texteditor (beim Speichern), aber auch eine Remote-Kopie (dies kann lang sein, wenn die Download-Rate niedrig ist) oder ein anderes Programm sein.

user310345
quelle