引言
应用程序的启停最为显著的特征是端口的占用情况,例如Nginx、Tomcat。除此之外也可以通过进程的文件信息判断进程启停情况。在Linux系统常用的两个命令分别为 lsof
和 ps
。在应用的启停中通过监听端口去判断是否存在进行启停是更合理的一种方式。实际使用过程中都会使用到。
lsof用法
1 | NAME |
ps用法
1 | NAME |
通过监听端口停止应用
使用lsof加关键词LISTEN获取端口,脚本如下:
1 |
|
通过文件名停止应用
使用ps+awk加应用名关键词获取pid,脚本如下:
1 |
|
通用启动Java程序脚本
通过函数式编写启动Java程序脚本有如下优点:
- 简化启动应用的脚本维护;
- 统一维护一类程序的JVM参数;
脚本信息如下:
1 | !/bin/bash |
通过 ~/.bashrc 简化程序脚本
.bashrc
在用户登录时获取该文件的 aslias
等信息。维护人员可以通过别名简化程序脚本,增加维护效率。
.bash_profile
文件可以维护环境变量,也可以简化该脚本。
.bash_profile
修改过程如下:
1 | 编辑 bash_profile |
.bashrc
修改过程如下:
1 | 编辑 bash_profile |
注意不同系统的文件名可能存在差异。
以user-gatewayin-svc为例子说明使用
服务部署路径信息 /app/user_projects/user-gatewayin-svc
,目录结构如下:
1 | drwxr-xr-x 3 app sunz 4096 2月 1 13:40 config |
其中 start.sh
内容如下;
1 | startJavaProcess "zuul-boot-2.0.0-SNAPSHOT.jar --spring.profiles.active=dev,dev-in" |
其中 stop.sh
内容如下;
1 | killProcess 9450 |