Respuestas:
Podrías usar MacPorts :sudo port install proctools
Aquí está el resultado de port search pgrep
:
proctools @0.4pre1 (sysutils)
pgrep, pkill and pfind for OpenBSD and Darwin (Mac OS X)
brew install proctools
En OS X Lion con Homebrew :
$ brew install proctools
Esto descarga, construye e instala pgrep
, pkill
y pfind
.
Suponiendo que está utilizando una versión relativamente reciente de Bash en la Mac, puede escribir su propia versión de pgrep
como función y luego agregarla a su .bashrc
archivo:
function pgrep() {
ps aux | grep $1 | grep -v grep
}
En cuanto a pkill
usted puede utilizar lo siguiente:
function pkill() {
local pid
pid=$(ps ax | grep $1 | grep -v grep | awk '{ print $1 }')
kill -9 $pid
echo -n "Killed $1 (process $pid)"
}
function
palabra clave, está en desuso. Ver esta publicación
Proctools incluye pgrep
y pkill
está disponible para OpenBSD y OSX. No se ha actualizado en mucho tiempo, pero aún debería funcionar (al menos en OSX que rara vez modifica su ABI).
podrías probar killall. Mata los procesos por su nombre. Todos los procesos que coinciden con la cadena que pasa se eliminan.
killall httpd ( kill all apache processes )
killall php ( kill all php process )
Si lo haces
killall -s man ( kill any manual page processes, if a user is using man [command]
le mostrará una lista de procesos que serían eliminados como a continuación.
kill -TERM 70836
Si desea una señal diferente, haga lo siguiente
killall -9 processname
Esta fue mi solución para pkill:
#!/bin/sh
for X in `ps acx | grep -i $1 | awk {'print $1'}`; do
kill -9 $X;
done