Apakah ada alternatif pgrepdan pkillperintah pada Mac OS X atau haruskah saya membuat alias untuknya menggunakan perintah lain yang tersedia untuk saya?
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
}
Saya menggunakan Z Shell, meskipun seharusnya tidak ada masalah dalam mengadaptasi ini.
Eimantas
1
atau / bin / kill $ (ps ax | awk '$ 5 ~ /' "$ 1" '/ {print $ 1}') untuk pgrep yang lebih setia (hanya nama proses, bukan argumen. Saya menggunakan / bin / membunuh karena kebiasaan dibutuhkan lebih dari satu PID untuk membunuh. Ada trik lain, jika Anda mengendalikan regexp agar tidak perlu 'grep -v grep' - dengan begitu Anda bisa pkill greps!)
jrg
Saya sarankan Anda menghapus functionkata kunci, itu sudah usang. Lihat posting ini
SiegeX
Kamu Menakjubkan.
Bijan
2
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).
brew install proctools
Di OS X Lion dengan Homebrew :
Ini mengunduh, membangun dan menginstal
pgrep
,pkill
danpfind
.sumber
Anda tidak memerlukan alternatif lagi: sejak MacOS 10.8
pgrep
danpkill
tersedia secara default.sumber
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 :Adapun
pkill
Anda dapat menggunakan yang berikut:sumber
function
kata kunci, itu sudah usang. Lihat posting iniProctools termasuk
pgrep
danpkill
dan tersedia untuk OpenBSD dan OSX. Itu belum diperbarui dalam beberapa saat, tetapi masih harus bekerja (setidaknya pada OSX yang jarang memodifikasi ABI-nya).sumber
Anda bisa mencoba killall. Itu membunuh proses dengan nama. Setiap proses yang cocok dengan string yang Anda berikan terbunuh.
Jika kamu melakukan
itu akan menunjukkan kepada Anda daftar proses yang akan dibunuh seperti di bawah ini.
Jika Anda menginginkan sinyal yang berbeda, lakukan hal berikut
sumber
Ini solusi saya untuk pkill:
sumber