nohup java -jar ./jeecg-system-start-3.4.3.jar &
时间: 2024-06-20 16:03:59 浏览: 219
nohup命令是在Linux/Unix系统下的一种特殊命令,用于在系统后台运行程序,即使用户注销或终端关闭,程序也能继续运行。它的常见用法是通过nohup命令来启动Java程序,并将其放到后台运行,具体命令如下:
```
nohup java -jar ./jeecg-system-start-3.4.3.jar &
```
上述命令中,nohup表示不挂断地运行命令,java -jar表示启动Java程序并执行Jar包,./jeecg-system-start-3.4.3.jar是要执行的Jar包文件路径,&表示将程序放入后台运行。
相关问题
[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的进程。
为什么jenkins构建选上Exec in pty就不执行以下脚本了:#!/bin/bash PID=$(ps -ef | grep auth-server.jar | grep -v grep | awk '{print $2}') if [[ -z $PID ]]; then echo "auth-server.jar is not running." nohup java -jar -Xms512m -Xmx512m -Dspring.profiles.active=test -jar /opt/app/auth-server/auth-server.jar & echo "auth-server.jar Starting" else echo "auth-server.jar is running with PID $PID. Killing the process..." ps -ef | grep auth-server.jar | grep -v grep | awk '{print $2}' | xargs kill -9 echo "Process has been killed." nohup java -jar -Xms512m -Xmx512m -Dspring.profiles.active=test -jar /opt/app/auth-server/auth-server.jar & echo "auth-server.jar Starting" fi
可能是因为Exec in pty选项会开启一个伪终端,而脚本中的nohup命令会将命令放入后台运行,导致无法在伪终端中输出结果。建议将脚本中的nohup命令去掉,直接在前台运行java命令,并将输出重定向到日志文件中,这样可以在jenkins的控制台输出日志。同时,为了避免权限问题,建议将java命令和相关文件的路径设置为绝对路径。另外,建议在脚本中添加一些错误处理逻辑,如检查java命令是否存在等。
阅读全文