Esto sucede porque el archivo de script está abierto para escritura, posiblemente por un proceso no autorizado que no ha finalizado.
Solución:compruebe qué proceso sigue accediendo al archivo y termínelo.
Por ejemplo:
# /root/wordpress_plugin_updater/updater.pl --wp-path=/var/www/virtual/joel.co.in/drjoel.in/htdocs
-bash: /root/wordpress_plugin_updater/updater.pl: /root/perl/bin/perl: bad interpreter: Text file busy
Ejecutar lsof
(comando de lista de archivos abiertos) en el nombre del script:
# lsof | grep updater.pl
sftp-serv 4416 root 3r REG 144,103 11043 33046751 /root/wordpress_plugin_updater/updater.pl
Matar el proceso por su PID:
kill -9 4416
Ahora intente ejecutar el script de nuevo. Funciona ahora.
# /root/wordpress_plugin_updater/updater.pl --wp-path=/www/htdocs
Wordpress Plugin Updater script v3.0.1.0.
Processing 24 plugins from
Si la secuencia de comandos se editó en Windows o en cualquier otro sistema operativo con finales de línea "nativos" diferentes, podría ser tan simple como un CR(^M)
"esconderse" al final de la primera línea. Vi mejorado se puede configurar para ocultar esta terminación de línea no nativa. En mi caso, simplemente volví a escribir la primera línea infractora en VI y el error desapareció.
Supongo que te encontraste con este problema.
El kernel de Linux generará un bad interpreter: Text file busy
error si su secuencia de comandos Perl (o cualquier otro tipo de secuencia de comandos) está abierta para escritura cuando intenta ejecutarla.
No dice qué estaban haciendo los procesos intensivos en disco. ¿Es posible que uno de ellos tuviera el script abierto para acceso de lectura y escritura (incluso si en realidad no estaba escribiendo nada)?
Esto siempre tiene que ver con que el intérprete de perl (/usr/bin/perl) sea inaccesible. De hecho, sucede cuando se ejecuta un script de shell o awk o lo que sea que esté en el #! línea en la parte superior del guión.
La causa puede ser muchas cosas... permanentes, archivo bloqueado, sistema de archivos fuera de línea, y así sucesivamente.
Obviamente, dependería de lo que estaba sucediendo en el momento exacto en que lo ejecutó cuando ocurrió el problema. Pero espero que la respuesta sea lo que estabas buscando.