Saltar al contenido

¿Qué genera el mensaje de “archivo de texto ocupado” en Unix?

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 rmk1luego 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

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *