Serviço interrompido, mas ainda existe processo no sistema

1

Qual é a solução se alguém excluir o arquivo / var / lock / subsys / httpd.

    
por dlandigi 13.03.2011 / 07:17

1 resposta

1

Geralmente, você pode pedir a qualquer processo que termine de maneira elegante encontrando seu PID e enviando o sinal 15. Tente

www% ps auxww|grep http
apache     311  0.0  0.5  42932 22580 ?        S    Mar11   0:21 /usr/sbin/httpd
apache    2547  0.0  0.5  42768 22188 ?        S    Mar12   0:06 /usr/sbin/httpd
root      2669  0.0  0.2  28500 11228 ?        Ss   Feb15   0:00 /usr/sbin/httpd
[ and many more http processes ] 

O que você está interessado é o pai, que é o que pertence ao root. É PID é a segunda coluna, neste caso 2669, então peça para ele morrer com

% kill -15 2669

Repita o comando ps para certificar-se de que desapareceu. Se não for graciosamente, você pode forçá-lo a morrer com o sinal 9:

% kill -9 2669

Existem outros comandos em alguns UNIXes para matar grupos específicos de processos, ou todos os processos com um pedaço particular de texto no nome, mas você não diz qual SO está usando (embora o uso de um /var/lock file deixa claro que é algum tipo de UNIX). Experimente man killall e você pode descobrir se killall httpd seria mais simples para você.

Geralmente, você precisará ser root ou usar o comando sudo para enviar um sinal arbitrário para um processo arbitrário.

    
por 13.03.2011 / 07:27

Tags