当连接的远程服务器执行的时候,一旦关闭了当前终端,程序也被迫停止运行了。这显然是不行的
我想要的是让它常驻后台执行,不受启动其终端关闭与否的影响。
Springboot打包跳过测试命令:
mvn clean package -DskipTests
解决办法
在jar包文件所在的目录执行以下命令:
nohup java -jar springboot-0.0.1-SNAPSHOT.jar >nohup 2>&1 &
nohup: 不挂断的执行命令,忽略所有的挂断信号。 运行后台命令 最后加 &
在jar目录下会生成一个nohup.out文件,默认的log输出到这里了。
命令解释
以上命令是不输出启动日志的,运行后会只输出一个运行的进程号。
想要输出启动日志可以这样:
java -jar xx.jar > log.file 2>&1 &
这里启动信息就输出到了日志文件上,注意的是log文件需要先创建chmod授权
可以给日志一个777授权,测试阶段无所谓:
chmod 777 -R /home/logs
2>&1含义
& 1 更准确的说是文件描述符 1,
而1 一般代表的就是STDOUT_FILENO,实际上这个操作就是一个dup2(2)调用
.他标准输出到all_result ,然后复制标准输出到文件描述符2(STDERR_FILENO), 其后果就是文件描述符1和2指向同一个文件表项,也可以说错误的输出被合并了
.其中0表示键盘输入 1表示屏幕输出 2表示错误输出.把标准出错重定向到标准输出,然后扔到/DEV/NULL下面去。通俗的说,就是把所有标准输出和标准出错都扔到垃圾桶里面。
| 值 | 含义 |
| — | — |
| 0 | 标准输入(一般是键盘) |
| 1 | 标准输出(一般是显示屏,准确的说是用户终端控制台) |
| 2 | 标准错误(出错信息输出) |
最后一个& , 是让该命令在后台执行
查看进程
查看全部进程
ps -ef
最后
俗话说,好学者临池学书,不过网络时代,对于大多数的我们来说,我倒是觉得学习意识的觉醒很重要,这是开始学习的转折点,比如看到对自己方向发展有用的信息,先收藏一波是一波,比如如果你觉得我这篇文章ok,先点赞收藏一波。这样,等真的沉下心来学习,不至于被找资料分散了心神。慢慢来,先从点赞收藏做起,加油吧!
另外,给大家安排了一波学习面试资料:
以上就是本文的全部内容,希望对大家的面试有所帮助,祝大家早日升职加薪迎娶白富美走上人生巅峰!
了解详情https://docs.qq.com/doc/DSmxTbFJ1cmN1R2dB
[外链图片转存中…(img-ni9zjAim-1724192883468)]
以上就是本文的全部内容,希望对大家的面试有所帮助,祝大家早日升职加薪迎娶白富美走上人生巅峰!
了解详情https://docs.qq.com/doc/DSmxTbFJ1cmN1R2dB