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, pkilldan pfind.
Anda tidak memerlukan alternatif lagi: sejak MacOS 10.8 pgrepdan pkilltersedia secara default.
Dengan asumsi bahwa Anda menggunakan beberapa versi Bash yang relatif baru di Mac, Anda bisa menulis versi Anda sendiri pgrepsebagai fungsi dan kemudian menambahkannya ke .bashrcfile Anda :
function pgrep() {
ps aux | grep $1 | grep -v grep
}
Adapun pkillAnda 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)"
}
functionkata kunci, itu sudah usang. Lihat posting ini
Proctools termasuk pgrepdan pkilldan 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