Existe-t-il des alternatives pgrepet des pkillcommandes sur Mac OS X ou dois-je simplement créer des alias pour eux en utilisant d'autres commandes disponibles pour moi?
En supposant que vous utilisez une version relativement récente de Bash dans le Mac, vous pouvez écrire votre propre version de pgrepas, puis l'ajouter à votre .bashrcfichier:
function pgrep() {
ps aux | grep $1 | grep -v grep
}
Je suis sur un Z Shell, bien qu'il ne devrait y avoir aucun problème à l'adapter.
Eimantas
1
ou / bin / kill $ (ps ax | awk '$ 5 ~ /' "$ 1" '/ {print $ 1}') pour un pgrep plus fidèle (nom de processus uniquement, pas d'arguments. J'utilise / bin / kill par habitude parce que il faut de manière fiable plus d'un PID pour tuer. Il existe d'autres astuces, si vous contrôlez l'expression rationnelle pour ne jamais avoir à 'grep -v grep' - de cette façon, vous pouvez pkill greps!)
jrg
Je vous suggère de supprimer le functionmot clé, il est obsolète. Voir cet article
SiegeX
Tu es incroyable.
Bijan
2
Proctools inclut pgrepet pkillest disponible pour OpenBSD et OSX. Il n'a pas été mis à jour depuis un certain temps, mais il devrait quand même fonctionner (au moins sur OSX qui modifie rarement son ABI).
brew install proctools
Sur OS X Lion avec Homebrew :
Cela télécharge, construit et installe
pgrep
,pkill
etpfind
.la source
Vous n'avez plus besoin d'alternative: depuis MacOS 10.8
pgrep
etpkill
sont disponibles par défaut.la source
En supposant que vous utilisez une version relativement récente de Bash dans le Mac, vous pouvez écrire votre propre version de
pgrep
as, puis l'ajouter à votre.bashrc
fichier:quant à
pkill
vous pouvez utiliser ce qui suit:la source
function
mot clé, il est obsolète. Voir cet articleProctools inclut
pgrep
etpkill
est disponible pour OpenBSD et OSX. Il n'a pas été mis à jour depuis un certain temps, mais il devrait quand même fonctionner (au moins sur OSX qui modifie rarement son ABI).la source
vous pouvez essayer killall. Il tue les processus par leur nom. Tous les processus qui correspondent à la chaîne que vous transmettez sont supprimés.
Si tu fais
il vous montrera une liste des processus qui seraient tués comme ci-dessous.
Si vous voulez un signal différent, procédez comme suit
la source
C'était ma solution pour pkill:
la source