Angenommen, ich habe meinen Prozess wie folgt gestartet:
java -DSOME_STRING -jar foo.jar
Dann kann ich unter Linux Folgendes verwenden, um diesen Prozess zu finden oder zu beenden:
pgrep -f SOME_STRING
pkill -f SOME_STRING
Dies scheint jedoch bei Cygwin nicht zu funktionieren. Kann jemand eine Alternative für diese Tools in Cygwin vorschlagen?
killall
undpidof
für Cygwin erstellt. Abhängig von Python 2 / - github.com/kata198/cygwin-ps-miscAntworten:
pkill und pgrep existieren sicherlich innerhalb Cygwin, im procps Paket (Sie Cygwin - Pakete suchen hier ).
Es scheint für mich zu funktionieren,
und
Update: Okay, mit Java getestet. Das Ausführen von Java über die Cygwin-Befehlszeile führt nicht dazu, dass die Java-Zeichenfolge platziert wird
/proc/<pid>/cmdline
, die nur enthält-bash
. Dies scheint eine Einschränkung von Cygwin zu sein.Ich vermute daher, die Antwort ist, dass Sie dies nicht mit einem Cygwin-Tool tun können, sondern ein Windows-spezifisches Tool benötigen würden.
quelle
procps-ng
.apt-cyg install procps-ng
mit neuesten CygwinDie Cygwin-Dienstprogramme funktionieren wie die Linux-Dienstprogramme, funktionieren jedoch nur mit Cygwin-Prozessen. Für Windows-Prozesse müssen Sie Windows-Dienstprogramme verwenden, z. B. die von Sysinternals . PsKill kann Prozesse mit Namen beenden .
quelle
taskkill /f /im procname.exe
ps
zeigt auch Windows-Prozesse mit dem-W
SchalterIn älteren Cygwin-Versionen gibt es ein
procps
Paket, das Sie installieren können, um dieselbe Funktionalität mit denselben Befehlen zu erhalten.In neueren Cygwin-Versionen existiert das
procps
Paket nicht mehr und wird durch ein Paket ersetztprocps-ng
.quelle