Linux笔记-bash批量启动、停止、重启、查询状态指定Java进程(其他进行通用)
此篇博文记录了在centos7.5上,编写bash,实现批量启动,停止、重启、查询java(其他进程通用)。
这里有下面几个知识点:
1. shell中如何使用数组;
2. shell中对数组进行遍历;
3. echo和eval执行命令;
4. shell中case的使用;
5. 根据输入的启动命令查询进程ID(这个命令复杂只能用eval启动);
6. shell中如何定义并调用函数;
7. 在多客户端的java,通过--type这种类似的命令,区分不同的进程。
代码如下:
#! /bin/bashProPath=(
'java -jar /root/XXXX/XXXX-1.18.jar'
'java -jar /root/XXXX/XXXX-1.1.jar'
'java -jar /root/XXXX/XXXX-1.15.jar'
'java -jar /root/XXXX/XXXX-1.14.jar'
'java -jar /root/XXXX/XXXX-1.1.jar'
'java -jar /root/XXXX/XXXX-1.5.jar'
'java -jar /root/XXXX/XXXX-1.8.jar --type=1'
'java -jar /root/XXXX/XXXX-1.8.jar --type=2'
'java -jar /root/XXXX/XXXX-1.8.jar --type=3'
'java -jar /root/XXXX/XXXX-1.8.jar --type=4'
'java -jar /root/XXXX/XXXX-1.8.jar --type=5'
'java -jar /root/XXXX/XXXX-1.8.jar --type=6'
'java -jar /root/XXXX/XXXX-1.8.jar --type=7'
'java -jar /root/XXXX/XXXX-1.8.jar --type=8'
'java -jar /root/XXXX/XXXX-1.8.jar --type=9'
'java -jar /root/XXXX/XXXX-1.8.jar --type=10'
'java -jar /root/XXXX/XXXX-1.8.jar --type=11'
'java -jar /root/XXXX/XXXX-1.8.jar --type=12'
'java -jar /root/XXXX/XXXX-1.8.jar --type=13'
'java -jar /root/XXXX/XXXX-1.8.jar --type=14'
'java -jar /root/XXXX/XXXX-1.8.jar --type=15'
)
readonly ProPathstartFunction(){#startecho 'start'for i in "${!ProPath[@]}";doprintf "start... %s\t%s\n" "$i" "${ProPath[$i]}"#cmd= "/usr/bin/nohup /usr/bin/java -jar ${ProPath[$i]} &"#cmd='/usr/bin/java -jar /root/bin/myJava1.jar'#eval $cmdnohup ${ProPath[$i]} &done
}statusFunction(){#The process statusecho '--------------------status--------------------'for i in "${!ProPath[@]}";doP_ID="ps -ef | grep -w '${ProPath[$i]}' | grep -v "grep" | awk '{print \$2}'"P_ID=$(eval $P_ID)if [ "${P_ID}" == "" ]; thenecho "${ProPath[$i]}" $'\t' " not yet run"elseecho "${ProPath[$i]}" $'\t' " still in progress"fidone}stopFunction(){echo stopfor i in "${!ProPath[@]}";doP_ID="ps -ef | grep -w '${ProPath[$i]}' | grep -v "grep" | awk '{print \$2}'"P_ID=$(eval $P_ID)if [ "${P_ID}" == "" ]; thenecho "${ProPath[$i]} not exists"else#echo $P_IDkill -9 $P_IDecho "${ProPath[$i]} killed success"fidone
}case "$1" instart)startFunction;;status)statusFunction;;stop)stopFunction;;restart)stopFunctionstartFunction;;esacecho 'start|status|stop|restart'exit 0
Linux笔记-bash批量启动、停止、重启、查询状态指定Java进程(其他进行通用)相关推荐
- linux 定时任务 crontab服务 启动 停止 重启
情况一:正常情况(系统有service命令) 重启服务命令: [root@centos6 /]# service crond restart 启动服务命令: [root@centos6 /]# ser ...
- linux启动关闭脚本,Linux中启动/停止/重启/状态的startup脚本
今天看到一个脚本,可以完成脚本的启动/停止/重启/状态,和/etc/init.d中的服务一样.但是/etc/init.d里面的服务要设置开机启动,可以使用service来管理.如果不设置开机启动且方便 ...
- linux启动/停止/重启MySQL的命令
linux如何启动/停止/重启MySQL数据库服务?两种方式,一种是使用service启动/停止/重启,另一种则是使用mysqld脚本启动/停止/重启. linux启动MySQL命令 [root@yu ...
- crontab服务启动 停止 重启(linux 定时任务)
crontab 服务 启动 停止 重启 crontab 服务用于执行 linux 定时任务. 重启服务命令: service crond restart启动服务命令: service crond st ...
- mysql 设置中文 重启_如何启动/停止/重启MySQL + 进入MYSQL-Go语言中文社区
Ubuntu 如何启动/停止/重启MySQL 一. 启动方式 1.使用 service 启动:service mysql start 2.使用 mysqld 脚本启动:/etc/inint.d/mys ...
- mysql 启动 修改密码_基础的启动/停止/重启/密码修改MySQL
如何启动/停止/重启MySQL 一. 启动方式 1.使用 service 启动:service mysqld start 2.使用 mysqld 脚本启动:/etc/inint.d/mysqld st ...
- 美团因拖欠骑手工资被约谈;传苹果6月6日举办全球开发者大会;Linux 5.18开始启动停止支持ReiserFS|极客头条
「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...
- 如何启动/停止/重启MySQL + 进入MYSQL
Ubuntu 如何启动/停止/重启MySQL 一. 启动方式 1.使用 service 启动:service mysql start 2.使用 mysqld 脚本启动:/etc/inint.d/mys ...
- centos 7 重启mysql_centOS7 如何启动/停止/重启MySQL
如何启动/停止/重启MySQL 一.启动方式 1.使用 service 启动:service mysqld start 2.使用 mysqld 脚本启动:/etc/inint.d/mysqld sta ...
最新文章
- 面试前临时抱佛脚——常见的Shell脚本面试题
- [AX]AX2012 纪录缓存
- 不自动切换eclipse视图
- spring mvc ajaxform IE下提示下载问题解决
- 在CISCO交换机上配置SSH
- 三个有名的决策树算法:CHAID、CART和C4.5
- webpack+vue-cli 中proxyTable配置接口地址代理
- 三大性质总结:原子性,有序性,可见性
- 写给学弟们编程入门时必须掌握的HTTP基础知识总结
- 诺基亚挥别Qt,转手给Digia
- linux中用at命令5分钟后执行,我使用过的Linux命令之at - 在指定时间执行一次任务...
- C/c++ http请求
- CSS3 转换2D transform
- 读《About Face 4 交互设计精髓》2
- c51单片机秒表程序c语言,单片机简易秒表C51程序
- html media设置自适应屏幕用法,css使用@media响应式适配各种屏幕的方法示例
- CEF浏览器 模拟鼠标点击
- 基于DSP的交通灯设计
- 均匀分布方差的计算方法
- 树莓派zero 2w i2c操作 rda5807收音机芯片记录(电台差转站点远程监听可行性探讨)
热门文章
- Android中RxJava+Retrofit2.0+MVP模式的整合
- 怎样定义和引用一维数组,二维数组
- [android]-xml解析示便-SAX
- 利用***检测系统防范******方法介绍
- 程序员都该知道这5个定律,有朋友使用后,现在已经是软件工程师!
- C++ 大神John Carmack的编程传说!还在抱怨C++难学吗?看大佬操作!
- 分数诚可贵的飞鸽传书2012绿色版
- 飞鸽传书官方网站方式hook一些常见的枚举文件
- 为什么铺天盖地都是Python的广告,它真的是无所不能吗?
- 【互联网大会】微信小程序斩获大奖 马化腾谈小程序开发生态