Czy istnieje sposób, aby zatrzymać program Java uruchomiony przy użyciu skrypt znając alone.I nazwy używam KSH ShellShell skrypt, aby zatrzymać program Java
Odpowiedz
Dodaj unikalną właściwość do JVM w celu łatwej identyfikacji, np. dla test.class
java -Duniquename=1 test
go zabić:
ps ax | grep uniquename | grep -v grep | awk '{print $1}' | xargs kill
Można użyć pkill:
pkill your_java_program_name
To działałoby, jeśli uruchomisz tylko jedną instancję uruchomionego programu.
Można użyć jps identyfikującego identyfikator procesu powiązany z nazwą uruchomionego programu java (jps jest menedżerem procesów dla programów java). Za pomocą tego identyfikatora możesz normalnie zabić proces.
zakładając, że moja nazwa pliku java to test.java i działa, jak go znaleźć? – Harish
+1 za wprowadzenie mnie do jps :) – sfussenegger
@Harish: Po skompilowaniu i wykonaniu zostanie wyświetlony jako "test". Jeśli zapiszesz go w pliku wykonywalnego jar (test.jar) i wykonasz za pomocą "java -jar test.jar" jps wyświetli "test.jar". – Mnementh
ślad za Mnementh' suggestion:
to powinno załatwić sprawę
jps -l | grep org.example.MyMain | cut -d ' ' -f 1 | xargs -rn1 kill
jps -l
: lista java zawodowiec cess z "pełną nazwą pakietu dla głównej klasy aplikacji lub pełną ścieżką do pliku JAR aplikacji."grep
: wybierz proces chceszcut -d -' ' -f 1
: Split wyjście w kolumnach z wykorzystaniem separatora '' i drukować tylko pierwsza (PID)xargs -rn1 kill
: wykonać zabić każdego PID (jeśli w ogóle)
pamiętać, że należy uruchomić JPS i xargs z tego samego użytkownika (lub root) jak używasz proces
+1 za każde "wow" Powiedziałem w każdej linii.:) – Nishant
Będzie to również działać na komputerach z systemem Windows, ale będziesz musiał przeprowadzić wykrywanie środowiska, aby dowiedzieć się, które 'kill' użyć. –
@Odelya Właśnie dodałem '-r' (' --no-run-if-empty') do 'xargs', aby uniknąć tego błędu. – sfussenegger
można użyć opcji -o ps sformatować wyjście,
ps -eo cmd,pid | awk '!/awk/&&/mycommand/{cmd="kill -9 "$2;system(cmd)}'
- 1. shell skrypt: if
- 2. Shell tablice skrypt
- 3. Shell skrypt pętli „for” składni
- 4. Shell skrypt, aby uzyskać różnicę w dwóch terminach
- 5. Java Script Shell Execute spakowany w JAR
- 6. Jak zatrzymać program webdriver-manager?
- 7. Jak zatrzymać skrypt PHP uruchomionych na tle
- 8. Jak zatrzymać i odtworzyć skrypt jquery
- 9. Jak załatać program Java?
- 10. jak dodać liczbę całkowitą i liczbę zmiennoprzecinkową Unix shell skrypt
- 11. Uruchom skrypt programu Power Shell w tle raz na minutę.
- 12. zewnętrzny program zatrzyma się, gdy program Java jest zatrzymany
- 13. VBS - Jak zatrzymać skrypt, dopóki użytkownik nie naciśnie klawisza?
- 14. Skrypt, aby pokazać postęp?
- 15. jak wykonać program .exe przez skrypt php
- 16. Shell skrypt z wc -l, jeżeli oświadczenie nie pracuje
- 17. Unfamiliar shell składni w ACK-grep zainstalować skrypt
- 18. Program nasłuchujący Java
- 19. GUI Program Java - program do malowania
- 20. program Java, aby wyodrębnić coefficents z równania kwadratowego
- 21. program Java, aby otrzymać aktualną datę bez datownika
- 22. Jak uruchomić program Power Shell przy użyciu tytułu okna?
- 23. Jak uczynić program Power Shell mniej dokładnym w przypadku błędów?
- 24. Java NullPointerException - krótki program
- 25. Jak wymusić program java swt, aby "przesunął się na pierwszy plan"?
- 26. Program OpenGL SDL/C++, jak zatrzymać przechwytywanie SDL SIGINT
- 27. Wykonywanie polecenia „makro”, aby uruchomić program
- 28. Jak zatrzymać program Visual Studio przed tworzeniem folderów debugowania pdb?
- 29. Program Java kończy się wynikiem java: 137
- 30. Użyj spustu, aby zatrzymać wstawianie lub aktualizację
wiedząc, co się nazywa? Jeśli znasz nazwę pliku wykonywalnego (który zwykle jest 'java'),' killall' jest twoim przyjacielem. – sfussenegger
@sfussenegger: Prawdopodobnie nie chce zabić wszystkich procesów Java, ale tylko jeden konkretny. – Mnementh
@Mnementh też tego oczekuję, ale z podanej informacji jest to najlepsza rzecz, jaką mogę polecić. – sfussenegger