shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Script para matar vários processos ao mesmo tempo


From: Julio C. Neves
Subject: Re: [shell-script] Script para matar vários processos ao mesmo tempo
Date: Wed, 22 Nov 2017 10:23:49 -0200

Acho que o mais barato seria fazer:

kill $(ps xufa | grep -E "$@" | grep -v grep | awk '{print $2}')

O $@ contem todos os parâmetros passados. O $* tb, mas dá truta se tiver espaço em branco (o que é impossível em nome de processo)

Assim como o pipe, tb cria um subshell, mas não carrega o código do xargs

Abraços,
Julio
* Atenção! Últimos treinamentos presenciais do ano! *
Cidade Local Período
Brasilia LinuxSolutions 27/11-01/12
São Paulo 4Linux 05-09/12
Rio de Janeiro LinuxSolutions 11-15/12

Damos treinamento em sua empresa com certificado
e nota fiscal por um preço, no mínimo, 50% mais
barato que qualquer curso.

​​
Nosso time de instrutores in company é formado somente por
autores
​ ​
de Best Sellers
​ ​
​laureados ​sobre os temas. P. exemplo:

Shell básico e Programação em Shell Julio Neves
Bacula Heitor Medrado
Zabbix Adail Host
Produção Gráfica e Videografismo Cadunico







Em 22 de novembro de 2017 09:17, 'alysoncb .' address@hidden [shell-script] <address@hidden> escreveu:
 

Fala pessoal, bom dia! 
Não sei se vocês já enfrentaram o mesmo problema que eu...

É o seguinte, eu tô criando um script pra matar vários processos ao mesmo tempo, mas eu queria fazer isso sem utilizar o OU | do grep. 

Na linha de comando ficaria assim:

ps xufa | grep -E (gedit|sublime_text) | grep -v grep | awk '{print $2}' | xargs kill -9

No script tá brabo de fazer isso, pois eu usaria a variável posicional $1.

Exemplo do script:

!#/bin/bash

ps xufa | grep -E $1 $2 $3 $4... | grep -v grep | awk '{print $2}' | xargs kill -9

E se eu quisesse matar mais de 20 processos ao mesmo tempo?
Como eu faria? Aí que o problema tá!!! 

Tá brabo descobrir uma solução pra isso.

Alguém tem uma luz??

Eu já tentei até uma loucura dessas aqui abaixo:
ps xufa | grep -E $1. | grep -v grep | tr '.' ' ' | awk '{print $2}' | xargs kill -9

Tentei transformar o ponto em espaço, assim eu colocaria os processos separados por espaço e mataria através do xargs kill -9.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]