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.