GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Prozess durch PID-Datei beenden

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

In manchen Situationen je kompakter:

pkill -F /var/run/myProcess.pid

ist der Weg zu gehen. Ich hatte Probleme mit den Sorten:

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

als ich den Befehl in etwas anderes einfügen musste, das ihn möglicherweise mit anderen Regeln analysiert, wie es Monit für seine Start-/Stoppbefehle tut.


Ich glaube, Sie erleben dies, weil Ihre Standard-Shell dash ist (die Debian-Almquist-Shell), aber Sie verwenden die Bash-Syntax. Sie können bash in der Shebang-Zeile mit so etwas wie

angeben
#!/usr/bin/env bash

Oder Sie könnten den Bindestrich- und Bash-kompatiblen Backtick-Ausdruck verwenden, der von admdrew in den Kommentaren vorgeschlagen wird

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

Unabhängig davon können Sie sich nicht auf /bin/sh verlassen bash sein.


Linux
  1. Wie behandelt Linux mehrere aufeinanderfolgende Pfadtrennzeichen (/home////username///file)?

  2. Bash =~ Regex und Https://regex101.com/?

  3. Unterschied zwischen /var/log/messages, /var/log/syslog und /var/log/kern.log?

  4. Wie erhalte ich den Pfad eines Prozesses in Unix / Linux

  5. Wie man nohup ausführt und seine PID-Datei in einer einzigen Bash-Anweisung schreibt

Was ist eine .pid-Datei und was enthält sie?

Textdatei als Befehle in Bash ausführen

Django static_root in /var/www/... - keine Berechtigungen für collectstatic

find:Dateisystemschleife erkannt

echo oder print /dev/stdin /dev/stdout /dev/stderr

Chroot schlägt fehl - Befehl `/bin/bash' kann nicht ausgeführt werden:Keine solche Datei oder Verzeichnis