springboot项目不挂断发布与杀掉进程
命令:
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 退出当前终端,第一次断开连接,第二次退出终端程序