Como você dispara deliberadamente um erro de "arquivo de texto ocupado"?

5

Muito ocasionalmente, encontro um erro "arquivo de texto ocupado" ao usar meu computador Linux 4.0.4. Eu li que quando o erro acontece, o kernel está impedindo a modificação de um arquivo que está sendo "usado".

Então eu me certifico de que um arquivo esteja aberto (como listado em lsof) e então faça modificações nele, está tudo bem e o erro "arquivo de texto ocupado" não acontece.

Então, como você aciona um erro?

    
por Howard 09.06.2015 / 09:52

1 resposta

10

"Arquivo de texto ocupado" significa que um processo está tentando modificar um executável enquanto ele está em execução ("texto" é sobre um segmento .text , não um arquivo de texto). Para desencadear:

$ cp /usr/bin/yes .

$ ./yes >/dev/null &
[1] 27417

$ cat /dev/null >yes
-bash: yes: Text file busy

$ kill %1
[1]+  Terminated              ./yes > /dev/null

$ cat /dev/null >yes

$ ls -s yes
0 yes
    
por 09.06.2015 / 10:17

Tags