nohup java -jar 后台运行
时间: 2023-12-23 15:26:25 浏览: 125
当我们在Linux服务器上运行Java应用程序时,通常使用命令“java -jar xxx.jar”来启动应用程序。但是如果我们关闭SSH会话,则应用程序也会随之关闭。为了解决这个问题,我们可以使用nohup命令将Java应用程序放在后台运行。nohup命令可以忽略挂起信号,从而使命令在后台运行,即使用户退出或关闭终端也不会停止该命令的执行。下面是nohup java -jar命令的示例:
```shell
nohup java -jar project.jar >> log.out 2>&1 &
```
这个命令将Java应用程序project.jar放在后台运行,并将输出重定向到log.out文件中。其中,“>>”表示将输出附加到文件末尾,“2>&1”表示将标准错误输出重定向到标准输出,最后的“&”表示将命令放在后台运行。
相关问题
nohup java -jar app.jar 和java -jar app.jar区别
`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 应用程序在后台运行,而不受终端关闭的影响。
[root@iZ2zeih2j9pr2qfqaxw32oZ jar]# nohup java -jar manager-api-4.2.5.jar >/dev/null 2>&1 & [2] 98350 [1] Exit 143 nohup java -jar manager-api-4.2.5.jar > /dev/null
这个命令运行成功了,并且把标准输出和标准错误输出都重定向到了`/dev/null`文件。其中,`[2] 98350`表示进程正在后台运行,进程ID为98350。而`[1] Exit 143`表示在运行这个命令之前,可能已经有一个相同的进程在运行,并且已经退出了,退出码为143。如果您想查看进程的状态或者停止进程,可以使用`ps`和`kill`命令。例如,执行`ps -ef | grep java`可以查看所有Java进程的状态,执行`kill 98350`可以停止进程ID为98350的进程。
阅读全文