Supondo que você esteja usando uma versão relativamente recente do Bash no Mac, você pode escrever sua própria versão de pgrepcomo function e adicioná-la ao seu .bashrcarquivo:
function pgrep() {
ps aux | grep $1 | grep -v grep
}
Estou em um Z Shell, embora não deva haver problemas em adaptar isso.
Eimantas
1
ou / bin / kill $ (ps ax | awk '$ 5 ~ /' "$ 1" '/ {print $ 1}') para um pgrep mais fiel (somente o nome do processo, não args. Eu uso / bin / kill por hábito, porque de maneira confiável, é necessário mais de um PID para matar.Existem outros truques, se você estiver no controle do regexp para nunca precisar 'grep -v grep' - dessa maneira, pode pkill greps!)
jrg
Sugiro que você remova a functionpalavra-chave, está obsoleta. Veja este post
SiegeX
Você é demais.
Bijan
2
O Proctools inclui pgrepe pkillestá disponível para o OpenBSD e OSX. Ele não é atualizado há algum tempo, mas ainda deve funcionar (pelo menos no OSX, que raramente modifica sua ABI).
brew install proctools
No OS X Lion com Homebrew :
Este download, constrói e instala
pgrep
,pkill
epfind
.fonte
Você não precisa mais de uma alternativa: desde o MacOS 10.8
pgrep
epkill
está disponível por padrão.fonte
Supondo que você esteja usando uma versão relativamente recente do Bash no Mac, você pode escrever sua própria versão de
pgrep
como function e adicioná-la ao seu.bashrc
arquivo:quanto a
pkill
você pode usar o seguinte:fonte
function
palavra-chave, está obsoleta. Veja este postO Proctools inclui
pgrep
epkill
está disponível para o OpenBSD e OSX. Ele não é atualizado há algum tempo, mas ainda deve funcionar (pelo menos no OSX, que raramente modifica sua ABI).fonte
você pode tentar matar tudo. Mata processos por nome. Quaisquer processos que correspondam à string que você passa são eliminados.
Se você fizer
mostrará uma lista de processos que seriam eliminados como abaixo.
Se você deseja um sinal diferente, faça o seguinte
fonte
Esta foi a minha solução para pkill:
fonte