I am working on a Spring Boot application running it on a Linux machine. It is a batch application containing Spring Boot Admin tool listening on the 8080 port.
I have the following "problem": I run it into my shell for the first time using this command:
mvn spring-boot:run
it correctly start and I can access to the Spring Boot Admin tool panel at this address http://localhost:8080/
Supse that I stop my batch application execution clicking CTRL Z on my keyboard, so the Spring Boot application is now stopped and I obtain this output message:
[1] Stopped mvn spring-boot:run
Ok, now if I run again my application by the same start command:
mvn spring-boot:run
now I am obtaining this error message:
Description:
Web server failed to start. Port 8080 was already in use.
Action:
Identify and stop the process that's listening on port 8080 or configure this application to listen on another port.
So if I perform this command to find the process that is listening on port 8080:
andrea@ubuntu:~/git/notartel-api-batch$ netstat -ltnp | grep -w ':8080'
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp6 2 0 :::8080 :::* LISTEN 16269/java
If now that I killed the previous process I restart again my Spring Boot application it will be started without problem.
Why if I quit a Spring Boot application listening on the 8080 port (using CTRL Z into the Linux shell), this process still listen on this port? I expected that the entire application will be killed and that nothing listen on the port
CodePudding user response:
Ctrl Z
doesn't kill the application but suspend it and put it in background, use Ctrl C
if you want to abort the running application.
CodePudding user response:
If you are running this
mvn spring-boot:run
on some other terminal the process will not stop listening on port if you close your IDE.
Instead of running mvn spring-boot:run you can just run the Main file of the application. After that when you close your application, the port will not listen.