nohup java -jar app.jar 和java -jar app.jar区别
时间: 2023-09-02 16:10:19 浏览: 128
`nohup java -jar app.jar` 和 `java -jar app.jar` 是两条命令的不同用法。
`java -jar app.jar` 是在终端中直接运行 `app.jar` 的命令。这将启动一个 Java 应用程序,并将 `app.jar` 文件作为参数传递给 Java 虚拟机(JVM)来执行。
`nohup java -jar app.jar` 则是使用了 `nohup` 命令来运行 Java 应用程序。`nohup` 命令的作用是在后台运行一个命令,并且不受终端关闭或退出的影响。这意味着即使你关闭终端,Java 应用程序仍然会继续在后台运行。
所以,主要的区别在于 `nohup` 命令能够使 Java 应用程序在后台运行,而不受终端关闭的影响。
相关问题
nohup java -jar app.jar &
这是一个在后台运行Java应用程序的命令,其中nohup命令用于不挂断地运行命令,即使终端关闭或用户注销也不会停止程序的运行。&符号用于将程序放入后台运行。java -jar app.jar是启动Java应用程序的命令,其中app.jar是Java应用程序的可执行文件。如果您想将输出重定向到文件而不是默认的nohup.out文件,可以使用>命令将输出重定向到指定的文件中。例如,nohup java -jar app.jar > output.log &将输出重定向到output.log文件中。如果您想指定应用程序的启动端口,可以使用--server.port选项,例如nohup java -jar app.jar --server.port=8080 &。如果您想指定Java应用程序的堆内存大小,可以使用-Xms和-Xmx选项,例如nohup java -Xms2000m -Xmx3000m -jar app.jar &。
停止nohup java -jar xxx.jar
停止nohup java -jar xxx.jar的方法可以使用以下几种方式:
1. 使用kill命令,首先可以使用ps命令查找java进程的PID,然后使用kill命令停止该进程。具体命令如下:
ps -ef | grep java
kill PID
其中PID是java进程的进程ID。
2. 使用jps命令查找java进程的PID,然后使用kill命令停止该进程。具体命令如下:
jps -l
kill PID
其中PID是java进程的进程ID。
3. 如果使用nohup命令启动java进程,可以在启动时指定一个PID文件,然后使用kill命令停止该进程。具体命令如下:
nohup java -jar xxx.jar & echo $! > app.pid
kill `cat app.pid`
其中app.pid是保存java进程PID的文件。