My favorites | Sign in
Project Home Downloads Wiki Issues Source
Checkout   Browse   Changes    
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# ----------------------------------------------------------------------------
# Mata processos pelo nome do seu comando de origem.
# Com a opção -n, apenas mostra o que será feito, mas não executa.
# Se nenhum argumento for informado, mostra a lista de processos ativos.
# Uso: zzkill [-n] [comando [comando2 ...]]
# Ex.: zzkill
# zzkill netscape
# zzkill netsc soffice startx
#
# Autor: Aurelio Marinho Jargas, www.aurelio.net
# Desde: 2000-05-15
# Licença: GPL
# ----------------------------------------------------------------------------
zzkill ()
{
zzzz -h kill "$1" && return

local nao comandos comando processos pid chamada

# Opções de linha de comando
if [ "$1" = '-n' ]
then
nao='[-n]\t'
shift
fi

while :
do
comando="$1"

# Tenta obter a lista de processos nos formatos Linux e BSD
processos=$(ps xw --format pid,comm 2>/dev/null) ||
processos=$(ps xw -o pid,command 2>/dev/null)

# Diga não ao suicídio
processos=$(echo "$processos" | grep -vw '\(zz\)*kill')

# Sem argumentos, apenas mostra a listagem e sai
if ! [ "$1" ]
then
echo "$processos"
return 0
fi

# Filtra a lista, extraindo e matando os PIDs
echo "$processos" |
grep -i "$comando" |
while read pid chamada
do
echo -e "$nao$pid\t$chamada"
[ "$nao" ] || kill $pid
done

# Próximo da fila!
shift
[ "$1" ] || break
done
}

Change log

r710 by aureliojargas on Mar 29, 2012   Diff
SEGURANÇA: $1 colocado entre aspas na
chamada padrão zzzz -h de todas as
funções.
Go to: 
Sign in to write a code review

Older revisions

r668 by aureliojargas on Mar 28, 2012   Diff
lint: removendo espaços inúteis.
r655 by aureliojargas on Mar 23, 2012   Diff
s/Aurélio/Aurelio/ *
r486 by aureliojargas on May 20, 2011   Diff
COMBO: Arrumadas inconsistências de
espaços em branco na indentação de
várias funções. Foi usado o script
'alinhamento' para encontrar os
problemas. Estas alterações não mudam
...
All revisions of this file

File info

Size: 1384 bytes, 58 lines
Powered by Google Project Hosting