Como posso encontrar a identificação do processo e interromper o processo em execução na porta 8080 em um Mac?
No Ubuntu, isso funciona:
ps -aux
e eu posso encontrar o processo e executar:
kill -9 pid
ps -aux
pareceu não funcionar, como posso fazer isso no Mac OS X Lion?
kill -9 pid
até depois de tentar apenaskill pid
. Muitos processos terão manipuladores de sinal que limparão o uso de recursos, fecharão bem as conexões e outras tarefas de pré-desligamento. Se você mata com -9, o processo morre imediatamente sem fazer a limpeza. Matar sem -9 funcionará na maioria das vezes.Respostas:
Por razões históricas,
ps
as opções são uma bagunça emaranhada e inconsistente. No OS X Lion, qualquer um destes deve funcionar:Eu não tenho uma caixa do ubuntu à mão para testar, mas de acordo com a página de manual ,
ps -aux
também não é a maneira certa de fazê-lo:fonte
Use
Activity Monitor
.Applications
->Utilities
->Activity Monitor
fonte
Se você deseja localizar e eliminar todos os processos que estejam em conformidade com uma string, também pode usar o seguinte em um Mac OSX:
Basicamente, o que isso fará é encontrar (grep) todos os processos atualmente em execução no seu sistema que correspondem ao AWK, obtém o PID, que no comando PS é a segunda coluna e o último pega os argumentos do AWK e mata os processos.
Use SUDO, apenas se o usuário atual não tiver alguns direitos para interromper um processo e se você tiver acesso SUDO no seu sistema.
fonte
Eu acredito que
ps -ef
no Mac é quase equivalente aops -aux
Linux.Para obter o que o PID possui a porta 8080 em uso:
lsof -P | grep 8080
Os campos são mapeados para:
Eu iniciei o
ttcp -rs
que escuta na porta 5001.e, de fato, o PID 27999 corresponde ao PID do
ttcp
processo que lancei.fonte
ps aux
(sem o hífen) no OS X.ps -ef
inclui colunas diferentes e usa um formato diferente.Para manter-se atualizado, para o macOS:
Para Linux:
fonte