Você parece estar tendo este problema , porque em algum momento nvi
começou a abrir arquivos O_RDWR
em vez de O_RDONLY
.
Se o seu vi
for de fato nvi
, tentarei usar um% diferentevi
, digamos vim
.
Há tempos que me habituei a editar scripts Perl CGI em "vi" e simultaneamente ter um navegador aberto para os testar. Ultimamente, tenho recebido "500" erros de servidor quando faço isso e, quando executo o script a partir do shell, recebo "intérprete incorreto: arquivo de texto ocupado". A única solução é sair "vi" sempre que eu quiser testar o script, que é uma dor real e deve ser totalmente desnecessário. O que há com isso? Eu estou rodando um servidor Debian, que eu mantenho atualizado regularmente, e eu estou assumindo que ele começou com alguns dos chamados "upgrade":)
Você parece estar tendo este problema , porque em algum momento nvi
começou a abrir arquivos O_RDWR
em vez de O_RDONLY
.
Se o seu vi
for de fato nvi
, tentarei usar um% diferentevi
, digamos vim
.
Isso é bizarro. Você está escrevendo antes de tentar atualizá-lo?
Além disso, você pode "cat" o arquivo enquanto ele está aberto?
Nós nos deparamos com isso quando editamos CGIs ...
o #! linha de intérprete recebe Ctrl-M de alguma forma,
renderizando o executável não encontrado.
Parece um erro de perl, mas é realmente a linha de intérprete 'she-bang' que tem 'quase' caracteres invisíveis no final.
No nosso caso, encontramos isso depois que o arquivo foi escrito. tente usar o comando dos2unix para copiar para outro nome e tente acertar isso. Se funcionar, você encontrou sua causa raiz.
Lamentamos dizer que não tenho uma solução real, exceto para reconhecer o problema quando o vejo.
- edit-- Nossa mensagem de erro é geralmente: scriptname: arquivo não encontrado NÃO é o 'arquivo ocupado' mencionado na pergunta.