Java >> Java-zelfstudie >  >> Tag >> Spring

Stop de huidige running Spring boot in linux

ik gebruik een springboot-toepassing in linux. Om deze springboot uit te voeren, gebruiken we het onderstaande commando.

java -jar sssup-SNAPSHOT.jar &

Deze springboot-applicatie maakt een eindpunt beschikbaar dat vervolgens door andere services wordt gebruikt.

Als de nieuwe versie van .jar beschikbaar is, moet ik de huidige .jar stoppen en opnieuw de bovengenoemde opdracht uitvoeren.

Hier is mijn vraag hoe de huidige actieve sssup-SNAPSHOT.jar te stoppen?

Antwoord

Je vindt de PID van het veerproces en stuurt er een SIGTERM-signaal naar.

Vind de PID (hier is de PID 12345)

$ ps -ef | grep sssup | awk '{print $2}'
12345

Stuur een kill-signaal (hiermee wordt het signaal SIGTERM verzonden)

kill 12345

Als de applicatie de SIGTERM netjes afhandelt, kun je hem geforceerd doden door SIGKILL

. te sturen
kill -s SIGKILL 12345
### or
kill -9 12345

Signalen worden hier gedocumenteerdhttps://www.man7.org/linux/man-pages/man7/signal.7.html

U kunt signalen en hun nummers weergeven door te draaien

kill -l

EDIT:Onliner

ps -ef | grep "sssup-SNAPSHO[T]" | awk '{print $2}' | xargs kill

Java-tag