Esta es la contestación más válida que encomtrarás dar, sin embargo obsérvala pausadamente y valora si es compatible a tu trabajo.
Solución:
Este error significa que algún otro proceso o usuario está accediendo a su archivo. Usar lsof
para comprobar qué otros procesos lo están utilizando. Puedes usar kill
comando para matarlo si es necesario.
Ha pasado un tiempo desde que vi ese mensaje, pero solía ser frecuente en System V R3 hace un par de décadas. En aquel entonces, significaba que no podía cambiar el ejecutable de un programa mientras se estaba ejecutando.
Por ejemplo, estaba construyendo un make
llamado trabajador rmk
, y después de un tiempo se mantuvo a sí mismo. Ejecutaría la versión de desarrollo y haría que construyera una nueva versión. Para que funcione, fue necesario utilizar la solución alternativa:
gcc -g -Wall -o rmk1 main.o -L. -lrmk -L/Users/jleffler/lib/64 -ljl
if [ -f rmk ] ; then mv rmk rmk2 ; else true; fi ; mv rmk1 rmk
Entonces, para evitar problemas con el ‘archivo de texto ocupado’, la compilación creó un nuevo archivo rmk1
luego movió el viejo rmk
a rmk2
(cambiar el nombre no fue un problema; desvincularlo sí) y luego movió el nuevo rmk1
a rmk
.
No he visto el error en un sistema moderno desde hace bastante tiempo… pero no suelo tener programas que se reconstruyan solos.
Esto ocurre cuando intenta escribir en un archivo que el kernel está ejecutando actualmente, o ejecuta un archivo que está actualmente abierto para escritura.
Fuente: http://wiki.wlug.org.nz/ETXTBSY