Respostas:
Você poderia usar o MacPorts :sudo port install proctools
Aqui está o resultado de port search pgrep
:
proctools @0.4pre1 (sysutils)
pgrep, pkill and pfind for OpenBSD and Darwin (Mac OS X)
brew install proctools
No OS X Lion com Homebrew :
$ brew install proctools
Este download, constrói e instala pgrep
, pkill
e pfind
.
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:
function pgrep() {
ps aux | grep $1 | grep -v grep
}
quanto a pkill
você pode usar o seguinte:
function pkill() {
local pid
pid=$(ps ax | grep $1 | grep -v grep | awk '{ print $1 }')
kill -9 $pid
echo -n "Killed $1 (process $pid)"
}
O Proctools inclui pgrep
e pkill
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).
você pode tentar matar tudo. Mata processos por nome. Quaisquer processos que correspondam à string que você passa são eliminados.
killall httpd ( kill all apache processes )
killall php ( kill all php process )
Se você fizer
killall -s man ( kill any manual page processes, if a user is using man [command]
mostrará uma lista de processos que seriam eliminados como abaixo.
kill -TERM 70836
Se você deseja um sinal diferente, faça o seguinte
killall -9 processname
Esta foi a minha solução para pkill:
#!/bin/sh
for X in `ps acx | grep -i $1 | awk {'print $1'}`; do
kill -9 $X;
done