架构师

您现在的位置是:首页 > 技术博客 > 爱运维

爱运维

springboot项目不挂断发布与杀掉进程

架构师小跟班 2019-08-15爱运维
命令:nohup java -jar scss-1.6.9.jar > scss.log 2>&1 &解析:1)nohup的作用:不挂断地运行命令2)java -jar scss-1.6.9.jar:java执行jar的命令,即启动scss服务3)> scss.log:将启动服

命令:

nohup java -jar scss-1.6.9.jar > scss.log 2>&1 &

解析:

1)nohup的作用:不挂断地运行命令

2)java -jar scss-1.6.9.jar:java执行jar的命令,即启动scss服务

3)> scss.log:将启动服务时控制台打印的日志重定向到scss.log文件中

4)2>&1:将标准错误输出重定向到标准输出,符号>&是一个整体,不可分开,分开后就不是上述含义了

5)最后一个&的作用:后台运行该行命令,不用等待当前命令执行完毕也能执行后面输入的命令,nohup和&是一个整体,一般一起使用
 

为什么2>&1一定要写到>log后面,才表示标准错误输出和标准输出都定向到log中?

我们不妨把1和2都理解是一个指针,然后来看上面的语句就是这样的:

nohup java -jar app.jar >log 2>&1 &

本来1----->屏幕 (1指向屏幕)

执行>log后, 1----->log (1指向log)

执行2>&1后, 2----->1 (2指向1,而1指向log,因此2也指向了log)

再来分析下

nohup java -jar app.jar 2>&1 >log &

本来1----->屏幕 (1指向屏幕)

执行2>&1后, 2----->1 (2指向1,而1指向屏幕,因此2也指向了屏幕)

执行>log后, 1----->log (1指向log,2还是指向屏幕)

所以这就不是我们想要的结果。
 

杀掉指定项目的java进程的语句:

ps -ef|grep superboot-2.0.0.jar | grep -v grep | awk '{print $2}' | xargs kill -9


快捷键

tab 补全命令    两次tab    列出所有以字符前缀开头的命令

ctrl A    把光标移到命令行开头

ctrl E    把光标移到命令行结尾

ctrl C    强制终止当前的命令

ctrl L    清屏,相当于clear命令

ctrl U    删除或剪切光标之前的内容

ctrl K    删除或剪切光标之后的内容

ctrl Y    粘贴ctrl+U或ctrl+K剪切的内容

ctrl R    在历史命令中搜索,按下ctrl+R后就会出现搜索界面,只要输入搜索内容,就会从历史命令中搜索

ctrl D    退出当前终端,第一次断开连接,第二次退出终端程序

文章评论