Por que os comandos bash às vezes não retornam saída?

6

Em um bash shell, se eu executar qualquer comando (por exemplo, "who"), muitas vezes ele não mostrará nenhum resultado, mas quando eu executar qualquer outro comando, a saída do comando anterior será incluída.

por exemplo:

    > who
    > ls -l
    u811217  pts/0        Jul  7 10:36 (pcp830738pcs.ny.abc.com)
    f122260  pts/1        Jun 29 18:07 (wnnypbh82bqjl1.ny.abc.com)
    hpmonpd  pts/2        Jul  6 15:17 (vsin0vw342.svr.us.abc.net)
    total 10536
    -rwxr--r-x  1 e252642 pbdvdp      75 Jul  6 12:26 runboth.sh
    -rwxr--r-x  1 e252642 pbdvdp      19 Jul  6 12:28 runtop.sh
    -rwxr--r-x  1 e252642 pbdvdp     108 Jul  6 12:29 runvmstat.sh

A princípio, parece algum tipo de problema de "não liberar o buffer", mas às vezes os resultados são recebidos fora de ordem: por exemplo:

    > who
    > ls -l
    total 10536
    -rwxr--r-x  1 e252642 pbdvdp      75 Jul  6 12:26 runboth.sh
    -rwxr--r-x  1 e252642 pbdvdp      19 Jul  6 12:28 runtop.sh
    -rwxr--r-x  1 e252642 pbdvdp     108 Jul  6 12:29 runvmstat.sh
    u811217  pts/0        Jul  7 10:36 (pcp830738pcs.ny.abc.com)
    f122260  pts/1        Jun 29 18:07 (wnnypbh82bqjl1.ny.abc.com)
    hpmonpd  pts/2        Jul  6 15:17 (vsin0vw342.svr.us.abc.net)

Outras notas de interesse são:

  • Não consigo fazer com que esse comportamento aconteça para comandos bash incorporados, como 'history' ou 'dirs'.
  • Não consigo fazer com que esse comportamento aconteça usando 'ksh'.

Este caso simples é dado como um exemplo. O problema acontece com os redirecionamentos de arquivos, etc., e está causando grandes problemas quando isso acontece dentro de scripts críticos que são executados.

Detalhes do SO: redhat linux 2.6.9-67.0.4.ellargesmp

Qualquer ajuda ou sugestão seria muito apreciada. Obrigado.

    
por Bruce 07.07.2011 / 17:14

1 resposta

1

Obrigado pela ajuda. Parece que o culpado foi um processo que teve um vazamento de memória de threads, com a contagem chegando a 25.000+. Tantas coisas são estranhas sobre esse problema que não sei por onde começar. por exemplo. 'ksh' funcionou bem ...

De qualquer forma, um patch foi lançado, a contagem de threads está de volta no par de centenas e, até agora, nenhum comportamento estranho.

Obrigado Bruce

    
por 11.07.2011 / 15:29