pkill -f 'java.*(core|nimbus)'
Eu não tenho uma configuração Java como a sua, mas executo uma grande quantidade de aplicativos Django no meu servidor. Situação semelhante em que todos eles se parecem com processos UWSGI. Aqui está um pedaço de ps aux | grep uwsgi
:
oli 7201 0.0 1.0 70324 20936 ? S 12:54 0:00 /web/venv/bin/uwsgi --include /web/django-uwsgi.ini --ini /web/asvsforms/uwsgi.ini
oli 7202 0.0 1.0 70336 20956 ? S 12:54 0:00 /web/venv/bin/uwsgi --include /web/django-uwsgi.ini --ini /web/bnc/uwsgi.ini
oli 7203 0.0 1.0 70456 21016 ? S 12:54 0:00 /web/venv/bin/uwsgi --include /web/django-uwsgi.ini --ini /web/cleanup/uwsgi.ini
oli 7204 0.0 1.0 70272 21068 ? S 12:54 0:00 /web/venv/bin/uwsgi --include /web/django-uwsgi.ini --ini /web/emwill/uwsgi.ini
oli 7205 0.0 1.3 88336 28124 ? S 12:54 0:00 /web/venv/bin/uwsgi --include /web/django-uwsgi.ini --ini /web/qi/uwsgi.ini
oli 7206 0.0 1.0 70256 20996 ? S 12:54 0:00 /web/venv/bin/uwsgi --include /web/django-uwsgi.ini --ini /web/sbaccuracy/uwsgi.ini
Você pode awk
disso (você não precisa de grep
e awk
), mas dê uma olhada em pgrep
!
$ pgrep -af 'uwsgi.*cleanup'
7203 /web/venv/bin/uwsgi --include /web/django-uwsgi.ini --ini /web/cleanup/uwsgi.ini
7217 /web/venv/bin/uwsgi --include /web/django-uwsgi.ini --ini /web/cleanup/uwsgi.ini
É o -f
que é realmente necessário aqui. Isso expande a pesquisa de padrões para toda a linha de comando usada para executar algo. Sem isso, só estaria procurando a primeira parte. O -a
está aqui apenas para produzir a linha completa.
De qualquer forma, para matar isso, apenas mudamos para pkill
, que é praticamente o mesmo comando. Ele não possui os mesmos recursos de saída, mas não é para isso que foi projetado. E isso nos leva de volta ao topo da resposta.
Se você insistir em filtrar ps
, não use ps|grep|grep|awk|egrep|awk|xargs kill
ou o que quer que tenha sido sugerido. Isso só parece bobo. Um único awk
pode fazer toda a filtragem .
ps aux | awk '/java.*(core|nimbus)/ {print }'
Além disso, você pode enviar a lista para eliminar diretamente em awk
:
ps aux | awk '/java.*(core|nimbus)/ {print | kill}'
Eu ainda escolheria pgrep
e pkill
.