此篇博文记录了在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进程(其他进行通用)相关推荐

  1. linux 定时任务 crontab服务 启动 停止 重启

    情况一:正常情况(系统有service命令) 重启服务命令: [root@centos6 /]# service crond restart 启动服务命令: [root@centos6 /]# ser ...

  2. linux启动关闭脚本,Linux中启动/停止/重启/状态的startup脚本

    今天看到一个脚本,可以完成脚本的启动/停止/重启/状态,和/etc/init.d中的服务一样.但是/etc/init.d里面的服务要设置开机启动,可以使用service来管理.如果不设置开机启动且方便 ...

  3. linux启动/停止/重启MySQL的命令

    linux如何启动/停止/重启MySQL数据库服务?两种方式,一种是使用service启动/停止/重启,另一种则是使用mysqld脚本启动/停止/重启. linux启动MySQL命令 [root@yu ...

  4. crontab服务启动 停止 重启(linux 定时任务)

    crontab 服务 启动 停止 重启 crontab 服务用于执行 linux 定时任务. 重启服务命令: service crond restart启动服务命令: service crond st ...

  5. mysql 设置中文 重启_如何启动/停止/重启MySQL + 进入MYSQL-Go语言中文社区

    Ubuntu 如何启动/停止/重启MySQL 一. 启动方式 1.使用 service 启动:service mysql start 2.使用 mysqld 脚本启动:/etc/inint.d/mys ...

  6. mysql 启动 修改密码_基础的启动/停止/重启/密码修改MySQL

    如何启动/停止/重启MySQL 一. 启动方式 1.使用 service 启动:service mysqld start 2.使用 mysqld 脚本启动:/etc/inint.d/mysqld st ...

  7. 美团因拖欠骑手工资被约谈;传苹果6月6日举办全球开发者大会;Linux 5.18开始启动停止支持ReiserFS|极客头条

    「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...

  8. 如何启动/停止/重启MySQL + 进入MYSQL

    Ubuntu 如何启动/停止/重启MySQL 一. 启动方式 1.使用 service 启动:service mysql start 2.使用 mysqld 脚本启动:/etc/inint.d/mys ...

  9. centos 7 重启mysql_centOS7 如何启动/停止/重启MySQL

    如何启动/停止/重启MySQL 一.启动方式 1.使用 service 启动:service mysqld start 2.使用 mysqld 脚本启动:/etc/inint.d/mysqld sta ...

最新文章

  1. 面试前临时抱佛脚——常见的Shell脚本面试题
  2. [AX]AX2012 纪录缓存
  3. 不自动切换eclipse视图
  4. spring mvc ajaxform IE下提示下载问题解决
  5. 在CISCO交换机上配置SSH
  6. 三个有名的决策树算法:CHAID、CART和C4.5
  7. webpack+vue-cli 中proxyTable配置接口地址代理
  8. 三大性质总结:原子性,有序性,可见性
  9. 写给学弟们编程入门时必须掌握的HTTP基础知识总结
  10. 诺基亚挥别Qt,转手给Digia
  11. linux中用at命令5分钟后执行,我使用过的Linux命令之at - 在指定时间执行一次任务...
  12. C/c++ http请求
  13. CSS3 转换2D transform
  14. 读《About Face 4 交互设计精髓》2
  15. c51单片机秒表程序c语言,单片机简易秒表C51程序
  16. html media设置自适应屏幕用法,css使用@media响应式适配各种屏幕的方法示例
  17. CEF浏览器 模拟鼠标点击
  18. 基于DSP的交通灯设计
  19. 均匀分布方差的计算方法
  20. 树莓派zero 2w i2c操作 rda5807收音机芯片记录(电台差转站点远程监听可行性探讨)

热门文章

  1. Android中RxJava+Retrofit2.0+MVP模式的整合
  2. 怎样定义和引用一维数组,二维数组
  3. [android]-xml解析示便-SAX
  4. 利用***检测系统防范******方法介绍
  5. 程序员都该知道这5个定律,有朋友使用后,现在已经是软件工程师!
  6. C++ 大神John Carmack的编程传说!还在抱怨C++难学吗?看大佬操作!
  7. 分数诚可贵的飞鸽传书2012绿色版
  8. 飞鸽传书官方网站方式hook一些常见的枚举文件
  9. 为什么铺天盖地都是Python的广告,它真的是无所不能吗?
  10. 【互联网大会】微信小程序斩获大奖 马化腾谈小程序开发生态