Jawaban:
Anda bisa menggunakan MacPorts :sudo port install proctools
Inilah hasil dari port search pgrep
:
proctools @0.4pre1 (sysutils)
pgrep, pkill and pfind for OpenBSD and Darwin (Mac OS X)
brew install proctools
Di OS X Lion dengan Homebrew :
$ brew install proctools
Ini mengunduh, membangun dan menginstal pgrep
, pkill
dan pfind
.
Anda tidak memerlukan alternatif lagi: sejak MacOS 10.8 pgrep
dan pkill
tersedia secara default.
Dengan asumsi bahwa Anda menggunakan beberapa versi Bash yang relatif baru di Mac, Anda bisa menulis versi Anda sendiri pgrep
sebagai fungsi dan kemudian menambahkannya ke .bashrc
file Anda :
function pgrep() {
ps aux | grep $1 | grep -v grep
}
Adapun pkill
Anda dapat menggunakan yang berikut:
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
kata kunci, itu sudah usang. Lihat posting ini
Proctools termasuk pgrep
dan pkill
dan tersedia untuk OpenBSD dan OSX. Itu belum diperbarui dalam beberapa saat, tetapi masih harus bekerja (setidaknya pada OSX yang jarang memodifikasi ABI-nya).
Anda bisa mencoba killall. Itu membunuh proses dengan nama. Setiap proses yang cocok dengan string yang Anda berikan terbunuh.
killall httpd ( kill all apache processes )
killall php ( kill all php process )
Jika kamu melakukan
killall -s man ( kill any manual page processes, if a user is using man [command]
itu akan menunjukkan kepada Anda daftar proses yang akan dibunuh seperti di bawah ini.
kill -TERM 70836
Jika Anda menginginkan sinyal yang berbeda, lakukan hal berikut
killall -9 processname
Ini solusi saya untuk pkill:
#!/bin/sh
for X in `ps acx | grep -i $1 | awk {'print $1'}`; do
kill -9 $X;
done