'ps' no Slackware funciona estranho, porque mostra o processo várias vezes?

1

Temos um aplicativo implantado em algumas plataformas diferentes, Windows e Linux. É composto por três processos java.

No Linux, quando queremos que o ID do processo mate e reinicie um deles, fazemos:

ps -ef | grep java

E o resultado são três linhas mostrando os três processos.

Um de nossos clientes usa o Slackware, e quando fazemos o mesmo comando, o resultado é várias linhas, dezenas de linhas para cada um dos três processos. E pior, muitas dessas linhas mostram apenas:

root      3470  0.0  3.1 1468048 64944 ?       S    07:33   0:00 java

Qual é a falta de informação, já que não podemos determinar qual dos três módulos é este.

Existe algo sobre o slackware e o comando ps?

Mais informações:

Versão do Slackware: 10.2.0

Versão do kernel:

Linux version 2.4.32-abi (root@servidor) (gcc version 3.3.6) #3 Mon Sep 29 10:27:28 GMT 2008

'man ps' diz, no final:

STANDARDS
This ps conforms to:

1   Version 2 of the Single Unix Specification
2   The Open Group Technical Standard Base Specifications, Issue 6
3   IEEE Std 1003.1, 2004 Edition
4   X/Open System Interfaces Extension [UP XSI]
5   ISO/IEC 9945:2003

Agradecemos antecipadamente.

    
por Jonathas Carrijo 07.10.2009 / 14:21

2 respostas

3

Você provavelmente descobrirá que o ps no slackware está mostrando os segmentos individuais para cada processo. Threads no Linux são basicamente processos separados criados usando clone () ao invés de fork (), o que os deixa com o mesmo espaço de endereço. Em um kernel 2.6, o ps geralmente pode detectar quais processos são threads e quais não são. Talvez o slackware tenha um comportamento ligeiramente diferente para sua versão do ps.

Você pode encontrar uma sorte melhor / diferente usando

ps auxw | grep java
    
por 07.10.2009 / 15:07
1

Parece que você está vendo tópicos, que versão de "ps" ele está usando? Peça a ele para verificar a página do manual para uma maneira de mostrar processos sem seus tópicos.

    
por 07.10.2009 / 15:07