web-dev-qa-db-fra.com

ps -xa | noeud grep pour tuer un processus spécifique

J'utilise actuellement la commande suivante pour obtenir un processus:

ps -xa | grep node

Ce qui se traduit par:

13611 ?        Sl     0:03 /opt/brackets/Brackets-node /opt/brackets/node-core
20713 pts/1    Sl     0:00 node --harmony app.js
20838 pts/1    S+     0:00 grep node

J'utilise la commande kill -9 20713 pour tuer le processus node --harmony app.js.

Comment puis-je tuer le node --harmony app.js à chaque fois avec une seule commande? J'en ai assez de taper le numéro de processus à chaque fois.

7
Karl Morrison

Utilisez pkill:

pkill node

Cela correspondrait également à l’autre commande, alors ajustez-la:

pkill -f "node --harmony app.js"

Cela correspond exactement à la ligne de commande complète (-f), de sorte qu'il ne doit exécuter que la commande souhaitée.

9
muru

Vous pouvez utiliser killall. La syntaxe la plus simple est:

killall "Process_name"

Dans votre cas:

killall "node --harmony app.js"

L'avantage de killall est qu'il correspond au nom exact, de sorte qu'il n'y a aucune chance de tuer les autres processus de manière indésirable.

Bien que vous puissiez utiliser l'option -r pour exprimer le processus sous la forme d'un modèle d'expression régulière tel que pkill.

Vérifiez man killall pour plus d’informations.

3
heemayl

Utilisez un alias et votre propre "mot de commande" pour cela.

E.G.go dans votre répertoire personnel et créez le fichier .bash_aliases

Mettez le texte suivant dans le fichier

alias nerdalert='pkill -f "node --harmony app.js"'

recherchez ensuite dans votre dossier de départ votre .bashrc à la recherche de cette partie et assurez-vous qu’elle n’est pas commentée.

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

Maintenant, tapez dans votre terminal

source /home/${USER}/.bash_aliases

et essayez votre nouvelle "commande" alias a.k.a.

nerdalertname__

Profiter ^^

1
s1mmel