Ich versuche, pidof oder pgrep zu verwenden, um ein HUP an einen Prozess in meinem System senden zu können. Das Problem ist, dass ich den Prozess nur mit einem genauen Parameter beenden möchte.
Dies ist die Ausgabe von 'ps awx'
657 ? S 0:00 processname software
658 ? S 0:00 processname demo
659 ? S 0:00 processname test
Indem Sie eine der folgenden Aktionen ausführen:
pidof processname
pgrep processname
Sie erhalten die Liste aller Prozesse, die mit dem Prozessnamen beginnen, aber ich möchte etwas tun wie:
pidof processname test
pgrep processname test
Um nur die PID abzurufen, die ich benötige (in diesem Beispiel wäre 659)
AKTUALISIEREN
Durch die Verwendung des Flags -f auf pgrep wird genau das getan, was ich wollte:
pgrep -f "processname test"
Sie erhalten die richtige Antwort.
-f
weil Sie in der vollständigen Befehlszeile übereinstimmen möchten. Beachten Sie, dass pgrep mit regulären Ausdrücken arbeitet, sodass Sie auch relativ komplexe Übereinstimmungen durchführen können.