Czy w systemie Mac OS X istnieją alternatywy pgrepi pkillpolecenia, czy powinienem po prostu tworzyć dla nich aliasy przy użyciu innych dostępnych dla mnie poleceń?
Zakładając, że używasz stosunkowo nowej wersji Bash na Macu, możesz napisać własną wersję pgrepjako funkcji, a następnie dodać ją do swojego .bashrcpliku:
function pgrep() {
ps aux | grep $1 | grep -v grep
}
Jestem na Z Shell, chociaż nie powinno być problemów z dostosowaniem tego.
Eimantas,
1
lub / bin / kill $ (ps ax | awk '5 $ ~ /' "$ 1" '/ {print $ 1}') dla bardziej wiernego pgrep (tylko nazwa procesu, nie argumenty. Używam / bin / kill z przyzwyczajenia, ponieważ niezawodnie potrzeba więcej niż jednego PID do zabicia. Istnieją inne sztuczki, jeśli masz kontrolę nad wyrażeniem regularnym, aby nigdy nie musieć „grep -v grep” - w ten sposób możesz pkill greps!)
jrg
Sugeruję usunięcie functionsłowa kluczowego, jest przestarzałe. Zobacz ten post
SiegeX
Jesteś niesamowity.
Bijan
2
Proctools zawiera pgrepi pkilljest dostępny dla OpenBSD i OSX. Od jakiegoś czasu nie był aktualizowany, ale powinien nadal działać (przynajmniej na OSX, który rzadko modyfikuje swój ABI).
brew install proctools
W systemie OS X Lion z Homebrew :
Te pliki do pobrania, buduje i instaluje
pgrep
,pkill
apfind
.źródło
Nie potrzebujesz już alternatywy: od MacOS 10.8
pgrep
ipkill
są one dostępne domyślnie.źródło
Zakładając, że używasz stosunkowo nowej wersji Bash na Macu, możesz napisać własną wersję
pgrep
jako funkcji, a następnie dodać ją do swojego.bashrc
pliku:jak dla
pkill
możesz użyć następujących:źródło
function
słowa kluczowego, jest przestarzałe. Zobacz ten postProctools zawiera
pgrep
ipkill
jest dostępny dla OpenBSD i OSX. Od jakiegoś czasu nie był aktualizowany, ale powinien nadal działać (przynajmniej na OSX, który rzadko modyfikuje swój ABI).źródło
możesz spróbować killall. Zabija procesy według nazwy. Wszelkie procesy pasujące do przekazanego ciągu są zabijane.
Jeśli zrobisz
pokaże ci listę procesów, które zostałyby zabite jak poniżej.
Jeśli chcesz inny sygnał, wykonaj następujące czynności
źródło
To było moje rozwiązanie dla pkill:
źródło