Linux上啟動和停止jar的方法
在Linux系統中,要想讓jar包在后臺運行,可以使用nohup命令和&符號。nohup命令可以使進程在后臺不受掛起信號影響的執行,而&符號則是將任務放入后臺執行。
以下是一個簡單的命令示例,它將啟動一個jar包,并將輸出重定向到當前目錄下的output.log文件中:
nohup java -jar your-application.jar > output.log 2>&1 &
解釋:
- nohup:允許命令在你退出會話后繼續運行。
- Java -jar your-application.jar:用于啟動jar包的命令,這里需要替換成你的jar文件名。
- >:重定向標準輸出到文件。
- output.log:輸出文件的名稱。
- 2>&1:將標準錯誤也重定向到標準輸出(在這里即output.log文件)。
- &:將任務放入后臺執行。
執行上述命令后,你的jar將在后臺運行,并且輸出會被記錄在output.log文件中。如果你需要將進程放到一個特定的任務列表,可以使用screen或tmux等工具。
Linux 查看后臺運行jar
在Linux系統中,要查看后臺運行的jar文件,可以使用ps命令結合grep命令來查找Java進程。以下是一個示例命令,用于查找所有后臺運行的jar文件:
ps -ef | grep ‘Java -jar’
這個命令會列出所有包含Java -jar命令的進程。如果你知道jar文件的確切名稱,可以直接通過grep搜索它:
ps -ef | grep ‘your-jar-filename.jar’
如果你想要查看進程的詳細信息,如CPU和內存使用情況,可以使用top或htop命令,并通過進程ID(PID)來過濾:
top -p PID
Linux 停止運行jar
要在Linux系統中停止正在運行的jar文件,你可以使用kill命令配合jar進程的進程ID(PID)。首先,你需要找到jar進程的PID。
1.使用ps命令結合grep來查找jar進程的PID。例如,如果你的jar包名為your-app.jar,可以使用以下命令:
ps -ef | grep your-app.jar
這將列出所有包含your-app.jar字符串的進程。你會看到形如Java -jar your-app.jar的命令行,在其左邊的第二列是該進程的PID。
2.使用kill命令發送信號到指定的PID以停止進程。你可以發送SIGTERM信號來優雅地停止進程,或者使用SIGKILL來強制停止。例如,如果PID是1234,可以使用以下命令:
kill 1234# 或者強制停止# kill -9 1234
如果你希望使用一行命令找到PID并停止進程,可以使用以下命令:
kill $(ps -ef | grep your-app.jar | grep -v grep | awk ‘{print $2}’)# 或者強制停止# kill -9 $(ps -ef | grep your-app.jar | grep -v grep | awk ‘{print $2}’)
請注意,強制停止(SIGKILL)可能會導致數據丟失或者其他問題,只有在進程無法正常終止時才應該使用。