Java 停止linux中当前正在运行的Spring引导

Java 停止linux中当前正在运行的Spring引导,java,spring-boot,Java,Spring Boot,我正在linux中运行一个springboot应用程序。要运行这个springboot,我们使用下面的命令 java -jar sssup-SNAPSHOT.jar & kill 5980 这个spring引导应用程序提供了一个端点,该端点随后被其他服务使用 现在,当新版本的.jar可用时,我必须停止当前正在运行的.jar,然后再次运行上述命令 这里我的问题是如何停止当前正在运行的sssup-SNAPSHOT.jar?一种方法是使用fg命令将后台进程带到前台,然后按Ctrl+C。只有

我正在linux中运行一个springboot应用程序。要运行这个springboot,我们使用下面的命令

java -jar sssup-SNAPSHOT.jar &
kill 5980
这个spring引导应用程序提供了一个端点,该端点随后被其他服务使用

现在,当新版本的.jar可用时,我必须停止当前正在运行的.jar,然后再次运行上述命令


这里我的问题是如何停止当前正在运行的sssup-SNAPSHOT.jar?

一种方法是使用fg命令将后台进程带到前台,然后按Ctrl+C。只有在运行jar文件的同一终端中,这才有效


另一种更可靠的方法是使用ps-a | grep java来查找应用程序的进程id。然后您可以使用该进程id执行kill操作。

如果您想执行maualy操作,请执行以下步骤

1. open terminal 
2. type JPS and enter
3. copy your application process id
4. sudo kill -9 application_id
如果JPS不能飞行,那么

1. open terminal
2. type ps -a | grep sssup-SNAPSHOT.jar
3. copy you process id
4. do sudo kill -9 processid
如果您想通过Shell脚本执行此操作,请使用下面的

app_id=$(ps -ef | grep 'sssup-SNAPSHOT.jar' | grep -v 'grep' | awk '{ printf $2 }')
sudo kill $app_id
echo Killed Application and Starting New
nohup java -jar "sssup-SNAPSHOT.jar" &

您可以找到spring进程的PID并向其发送SIGTERM信号

在这里找到PID,PID是12345

$ps-ef | grep sssup | awk'{print$2}' 12345 发送终止信号这将发送信号SIGTERM

杀死12345 如果应用程序优雅地处理SIGTERM,则可以通过发送SIGKILL强制杀死它

kill-s SIGKILL 12345 或 杀死-912345 这里记录了信号

您可以通过运行来列出信号及其编号

杀戮-l 编辑:在线

ps-ef | grep sssup SNAPSHO[T]| awk{print$2}| xargs kill
由于您是在后台运行该进程,因此需要首先找到它的进程以终止它

要查找进程ID,请在以下命令中激发:

ps -ef | grep "sssup-SNAPSHOT.jar"
输出将如下所示:

 502  5980  5964   0 10:40AM ttys000 
第二列是进程ID,这里是5980。在把火复制到命令下面之后

java -jar sssup-SNAPSHOT.jar &
kill 5980

只需通过启动ps-ef命令再次检查它是否被杀死。如果它还没有被杀死,你可以使用-9标志强制杀死它。与kill-9类似,Spring引导打印在日志信息之后的日志号中的进程id,然后使用kill-9PID命令


注意:9表示进程将被内核终止;此信号不能忽略。

您可以使用kill命令终止进程。要查找进程id,请触发ps-ef | grep sssup快照。jar@Saurabh是的……只需向这个进程发送一个SIGKILL,您就必须找到java工作的端口号,您可以在application.properties或application.yaml中找到。如果未声明,则为其8080端口。接下来,您必须找到它运行的进程lsof-t-i:8080。终止该过程。@Saurabh请将您的答案作为实际答案发布。@MalavShah请将您的答案作为实际答案发布。您为什么要运行nohup.jar?您可以删除nohup。这显然是一种更好的方法。不知道为什么这个答案不被接受。