守护世界最好的Java IDE!!
用IDEA创建spring boot 项目,并配置阿里云Toolkit之后,本身已经可以做到(手动)打包上传了。
但后来,稍微细心点的朋友们都会发现:Deploy to ECS中,有一项 Command 选项,写着是部署之后执行命令。于是乎,我就想着把原本进行中的项目关闭,再重新启动该项目之类的
kill -9 $(ps -ef|grep OLD_JAR_NAME |grep -v grep | awk '{print $2}')
rm -rf LOG_FILE
nohup java -jar NEW_JAR_NAME 1>LOG_FILE 2>&1
中间NEW/OLD_JAR_NAME按照各位自己的项目习惯写就可以
当然,我是个人项目,所以每次打包的名字都一致,就可以直接自动执行这些
企业项目。。。也用不到我这种简陋的方法
是否删除nohup自己的日志文件,大家也看心情就好
最后一行就是nohup后台启动,并重定向输出
分类介绍
ps -ef
这条指令是指:使用标准格式显示进程内容(跟ps aux也就差一点CPU MEM之类的)
grep
grep是查找命令
grep -v 则是在查找的时候排除某些内容
这一点是因为我们在执行这条指令,会查出一条是 grep OLD_JAR_NAME 稍微有些影响(影响在于我有强迫症),所以我们排除这一条
|
| 竖线是指几个命令同时执行
awk
前面几个都很常见,大概正常毕业的都见过,闭着眼睛乱写,比较独特的是这个awk 'print $2'
简单来说: print 指输出,$2 指第二个字段
和之前几个连在一起使用就是输出筛选出来的第二个字段(也就是PID)
另外,查阅资料的时候显示,awk 大多数时候是跟操作联系在一起的
kill
世界通用的指令应该不太需要讲了叭。。。
nohup 与 &
我之前只接触过&,也就是将某个指令放在在后台执行
nohup也是在后台不间断执行
比较明显的区别在于:当我们关闭几个常用的登陆工具(比如PuTTY或者CRT),由&挂起的进程就会一并消失,而nohup不会
nohup command > myout.file 2>&1 &
关于是否要将nohup与&一起使用,说法是:这样会完全屏蔽SIGHUP信号与SIGINT信号,但这一方面我还不是很了解,有空我们再深究