interpretador incorreto: arquivo de texto ocupado

5

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":)

    
por JoelFan 07.06.2009 / 18:55

3 respostas

14

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 .

    
por 07.06.2009 / 19:35
0

Isso é bizarro. Você está escrevendo antes de tentar atualizá-lo?

Além disso, você pode "cat" o arquivo enquanto ele está aberto?

    
por 07.06.2009 / 18:57
0

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.

    
por 07.06.2009 / 19:43