GNU/Linux >> Tutoriels Linux >  >> Linux

Tuer le processus par fichier pid

cat /var/run/myProcess.pid | sudo xargs kill -9

Dans certaines situations, le plus compact :

pkill -F /var/run/myProcess.pid

est la voie à suivre. J'ai eu des problèmes avec les variétés :

kill $(cat /var/run/myProcess.pid)
# Or
kill `cat /var/run/myProcess.pid`

quand j'ai dû mettre la commande dans quelque chose d'autre qui pourrait l'analyser en utilisant des règles différentes, comme Monit le fait pour ses commandes de démarrage/arrêt.


Je pense que vous rencontrez cela parce que votre shell par défaut est dash (le shell debian almquist), mais vous utilisez la syntaxe bash. Vous pouvez spécifier bash dans la ligne shebang avec quelque chose comme,

#!/usr/bin/env bash

Ou, vous pouvez utiliser l'expression de back-tick compatible tiret et bash suggérée par admdrew dans les commentaires

kill -9 `cat /var/run/myProcess.pid`

Quoi qu'il en soit, vous ne pouvez pas compter sur /bin/sh être bash.


Linux
  1. Comment Linux gère-t-il plusieurs séparateurs de chemins consécutifs (/home////nom d'utilisateur///fichier) ?

  2. Impossible de tuer le processus Gedit à partir de son Pid ?

  3. Comment obtenir le chemin d'un processus sous Unix / Linux

  4. Exécutez le fichier texte en tant que commandes dans Bash

  5. Comment exécuter nohup et écrire son fichier pid dans une seule instruction bash

Différence entre /var/log/messages, /var/log/syslog et /var/log/kern.log ?

CentOS / RHEL :Comment faire pivoter les fichiers /var/log/wtmp et /var/log/btmp à l'aide de logrotate

Qu'est-ce qu'un fichier .pid et que contient-il ?

Django static_root dans /var/www/... - aucune autorisation pour collectstatic

Les sites Web doivent-ils vivre dans /var/ ou /usr/ selon l'utilisation recommandée ?

Qu'est-ce qui supprime des éléments de /var/run au redémarrage d'une machine fedora ?