日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux笔记-bash批量启动、停止、重启、查询状态指定Java进程(其他进行通用)

發布時間:2025/3/15 linux 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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进程(其他进行通用)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。