Co oznacza nagłe „zajęty plik tekstowy” podczas wywoływania skryptu?

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

„myscript” zaczyna się od #!/usr/bin/env python. Ponowna próba uruchomienia rozwiązała problem.

Dlaczego program systemowy envsporadycznie staje się „zajęty”? Może to być spowodowane przez prelink(ale cron nie powinien go uruchomić w tym czasie ...)

Vi.
źródło
1
Nie jest envtak zajęty, to sam skrypt. (Najprawdopodobniej przez redaktora lub przeglądającego.)
David Schwartz
3
Tutaj „zajęty” oznacza „proces otworzył ./myscript do pisania ”, zgodnie z execve (2) . Edytor zwykle robi to tylko podczas zapisywania zmian na dysku.
user1686
OK, ktoś powinien to dodać jako odpowiedź.
Vi.
stackoverflow.com/questions/16764946/... ma więcej dyskusji.
Jesse Glick

Odpowiedzi:

5

Komentatorzy twierdzą, że skrypt jest zajęty, nie jest envlub pythonjest spowodowany zapisaniem go przez edytor tekstu.

Vi.
źródło
3

Zwykle jest to plik „./myscript”, który jest zajęty, ponieważ inny program modyfikuje plik. Może to być edytor tekstu (po zapisaniu), ale także zdalna kopia (może być długa, jeśli szybkość pobierania jest niska) lub inny program.

użytkownik310345
źródło