Quais são esses processos e por que não posso matá-los?

2

(no OS X 10.11.3) Estou tendo um problema ao iniciar um processo Java que precisa escutar na porta 8040. Obtendo uma BindException. Então parece que alguém já está ouvindo. Uma verificação rápida confirma que:

lsof -i TCP| fgrep LISTEN | grep 8040
jspawnhel 13566 alon  255u  IPv6 0x2a5edc8fe0a093d7      0t0  TCP *:8040 (LISTEN)
jspawnhel 14482 alon  255u  IPv6 0x2a5edc8fe0a093d7      0t0  TCP *:8040 (LISTEN)
jspawnhel 81770 alon  255u  IPv6 0x2a5edc8fe0a093d7      0t0  TCP *:8040 (LISTEN)

Então, estou tentando descobrir quais são esses processos, mas não entendo o que o ps está me mostrando:

ps ax | grep "13566\|14482\|81770"
13566   ??  U      0:00.00 313:316
14482   ??  U      0:00.00 324:327
81770   ??  U      0:00.00 301:304

o que o "??" significar? o que é 313: 316 neste contexto?

Eu também não posso matar, mesmo com -9:

kill -9 13566
ps ax | grep 13566
13566   ??  U      0:00.00 313:316

Tentei muitas vezes ...

Qualquer ajuda é apreciada.

    
por Legato 04.04.2016 / 16:19

1 resposta

3

Se você executar ps ax sem o grep, verá os cabeçalhos das colunas:

PID   TT  STAT      TIME COMMAND

?? está na coluna TT - é o terminal de controle do processo. O ?? indica que o processo não está associado a um terminal.

O U na coluna STAT indica que o processo está no estado de suspensão ininterrupta. Isso explica porque você não pode matá-lo - está bloqueado em um sono ininterrupto no kernel e não pode ser acordado para ser terminado. Quando o processo eventualmente sair do estado ininterrupto, ele notará o sinal e morrerá.

Os números à direita estão na coluna COMMAND - esse é o nome do processo. Quanto a quais são esses processos, não sei.

    
por 04.04.2016 / 18:09