cat /var/run/myProcess.pid | sudo xargs kill -9
In alcune situazioni, il più compatto:
pkill -F /var/run/myProcess.pid
è la strada da percorrere. Ho avuto problemi con le varietà:
kill $(cat /var/run/myProcess.pid)
# Or
kill `cat /var/run/myProcess.pid`
quando ho dovuto inserire il comando in qualcos'altro che potesse analizzarlo utilizzando regole diverse, come fa Monit per i suoi comandi di avvio/arresto.
Credo che tu stia sperimentando questo perché la tua shell predefinita è dash (la shell debian almquist), ma stai usando la sintassi bash. Puoi specificare bash nella riga shebang con qualcosa come,
#!/usr/bin/env bash
Oppure puoi usare l'espressione di back-tick compatibile con trattino e bash suggerita da admdrew nei commenti
kill -9 `cat /var/run/myProcess.pid`
In ogni caso, non puoi fare affidamento su /bin/sh
essere bash.