Que processo está sendo executado antes mesmo de eu receber uma solicitação?

4

Quando faço login em um servidor específico, vejo o seguinte:

ObservequeobtenhoLastlogin:...deinformações,masnenhumprompt.EubatoCtrl+Cesomenteentãoreceboomeuprompt,provandoassimquemeunomedeusuárioesenhaestãocorretos,conformeacapturadetelaabaixo.

Eu tenho tido esse problema desde hoje de manhã em um servidor da Web que temos no escritório. Não é coincidência que os discos da máquina tenham sido substituídos hoje, mas tudo o que aconteceu foi que o disco antigo foi clonado e todos os outros usuários do sistema não estão tendo esse problema.

Alguém sabe o que pode estar acontecendo?

    
por Matthew 23.04.2013 / 16:29

3 respostas

5

Algo está demorando muito em um dos seus arquivos de inicialização do shell. Adicione set -x na parte superior de ~/.bash_profile ou ~/.profile (ou ~/.bash_login ) se seu shell de login for bash ou ~/.zprofile e ~/.zlogin e ~/.zshrc se for zsh. Desta forma, o shell irá imprimir cada comando antes de executá-lo. Execute set +x depois para desativar o rastreio.

O comando pode ser chamado pelo script de inicialização de todo o sistema /etc/profile . Se você não puder alterar esse arquivo, mas precisar ver o que ele faz, execute um shell de login com rastreamento, por exemplo. bash --login -x .

Outra abordagem é fazer login uma segunda vez e observar o que está acontecendo com ps e outras ferramentas. No Linux ps x mostra todos os seus processos (apenas ps mostra a execução no terminal atual, o que não é bom aqui); ps -t pts/42 é restrito a processos em execução no terminal /dev/pts/42 (você provavelmente precisará executar ps x primeiro para determinar o terminal da segunda sessão).

    
por 24.04.2013 / 03:56
1

Em vez de matar o processo que está suspendendo seu shell, tente pará-lo com Crtl + Z e, em seguida, use o comando jobs para ver o que foi.

    
por 23.04.2013 / 17:23
1

É mais provável que um comando esteja sendo executado em seu $ HOME / .bashrc, $ HOME / .profile que não está sendo baseado em plano de fundo corretamente ou está aguardando a entrada do usuário. Eu daria uma olhada nesses dois arquivos para começar.

Se nada aparecer lá, eu daria uma olhada nos equivalentes do sistema desses arquivos, / etc / bashrc, / etc / profile, e os arquivos no diretório /etc/profile.d/*. Talvez alguém, um administrador de sistema, tenha adicionado algo aos arquivos em nível de sistema que agora estão tentando ser executados quando você faz o login.

    
por 23.04.2013 / 17:54