echo '=========kill server start========' kill -9 `ps -ef|grep /depress-consult-server|awk '{print $2}'` echo '=========kill server stop========' echo '=========run server start========' nohup java -jar /data/app/depress-consult-server.jar --spring.profiles.active=pro>>/data/app/myout.file & echo '=========run server stop========' exit 0 这个什么意思
时间: 2023-08-23 13:05:34 浏览: 215
这段脚本是用来管理一个名为 "depress-consult-server" 的服务器应用程序。脚本具体的操作是:
1. 打印 "=========kill server start========" 作为提示信息。
2. 使用 `ps -ef` 命令来获取正在运行的进程列表,并使用 `grep` 过滤出包含 "/depress-consult-server" 的进程。
3. 使用 `awk '{print $2}'` 提取出进程列表中的进程 ID。
4. 使用 `kill -9` 命令强制终止上一步获取到的进程。
5. 打印 "=========kill server stop========" 作为提示信息。
6. 打印 "=========run server start========" 作为提示信息。
7. 使用 `nohup` 命令运行 "/data/app/depress-consult-server.jar" 文件,设置 `--spring.profiles.active=pro` 作为应用程序的启动参数,并将输出重定向到 "/data/app/myout.file" 文件中。
8. 打印 "=========run server stop========" 作为提示信息。
9. 最后,使用 `exit 0` 命令退出脚本。
总体来说,这个脚本的目的是先终止已经在运行的服务器应用程序,然后重新运行该应用程序,并将输出重定向到一个文件中。
相关问题
#!/bin/sh #HOME=/ BIN=PLCXPro stoprun() { PID=`ps -ef --cols=200|grep -v stopapp |grep "$1" | awk '{print $2 " " $8}'|sed -e '/grep/d' -e 's/^ *//' -e 's/ .*//'` if [ -n "$PID" ] then echo "$1 id is $PID, kill normal process!" kill -3 $PID else echo "$1 id $PID is down! it's over!" fi } stoprunstart() { PID=`ps -ef --cols=200|grep -v stopapp |grep "$1"|grep start | awk '{print $2 " " $8}'|sed -e '/grep/d' -e 's/^ *//' -e 's/ .*//'` if [ -n "$PID" ] then echo "$1 id is $PID, kill normal process!" kill -9 $PID else echo "$1 id $PID is down! it's over!" fi } runtest() { PID=`ps -ef --cols=200|grep -v stopapp |grep "$1" | awk '{print $2 " " $8}'|sed -e '/grep/d' -e 's/^ *//' -e 's/ .*//'` if [ -n "$PID" ] then ## echo $1 id is $PID, sys normal process! sleep 30 else echo $1 is down! reload the process! date echo nohup $BIN & nohup ./$BIN > /dev/null & fi }怎么开启或者重启这个PLCXPro
可以运行以下命令来重启 PLCXPro 进程:
```
./stopapp.sh PLCXPro
```
该命令会执行 stoprun 函数,查找并终止名为 PLCXPro 的进程。
然后再执行以下命令来启动 PLCXPro 进程:
```
./runapp.sh PLCXPro
```
该命令会执行 runtest 函数,查找名为 PLCXPro 的进程是否已经存在,若不存在则启动 PLCXPro 进程。
#!/bin/bash # author xtc #APP_NAME=clic-reinsurance-0.0.1-SNAPSHOT #JAR_PATH=${pwd } #echo "jar path ~~ ${JAR_PATH}/ " #使用说明,用来提示输入参数 usage() { echo -e "\033[0;31m Usage: sh 脚本名.sh [start|stop|restart|status] \033[0m" exit 1 } #检查程序是否在运行 is_exist(){ pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' ` #如果不存在返回1,存在返回0 if [ -z "${pid}" ]; then return 1 else return 0 fi } #启动方法 start(){ is_exist if [ $? -eq "0" ]; then echo "${APP_NAME} is already running. pid=${pid} ." else nohup ${JAVA_HOME}/bin/java -jar ${APP_NAME} > ${JAR_PATH}/catalina.out 2>&1 & echo "nohup ${JAVA_HOME}/bin/java -jar ${APP_NAME} > ${JAR_PATH}/catalina.out 2>&1 &" echo -e " ${APP_NAME} start success" fi } #停止方法 stop(){ is_exist if [ $? -eq "0" ]; then kill -9 $pid else echo "${APP_NAME} is not running" fi } #输出运行状态 status(){ is_exist if [ $? -eq "0" ]; then echo "${APP_NAME} is running. Pid is ${pid}" else echo "${APP_NAME} is NOT running." fi } #重启 restart(){ stop start } JAR_PATH=$(cd $(dirname $0); pwd) for file in `ls ${JAR_PATH}/*.jar` do APP_NAME=${file} echo "$APP_NAME" done if [ ! -n "$APP_NAME" ]; then echo " jar is not exists " exit fi #根据输入参数,选择执行对应方法,不输入则执行使用说明 case "$1" in "start") start ;; "stop") stop ;; "status") status ;; "restart") restart ;; *) usage ;; esac
这是一个Shell脚本,用于启动、停止、重启或查看应用程序的运行状态。脚本通过输入参数来选择执行相应的操作,如果没有输入参数,则会输出使用说明。脚本中定义了几个函数,包括:
- usage:用于提示输入参数的使用说明。
- is_exist:用于检查程序是否在运行。
- start:用于启动程序。
- stop:用于停止程序。
- status:用于输出程序的运行状态。
- restart:用于重启程序。
脚本首先获取当前目录下的所有jar文件,然后根据输入参数选择执行相应的操作。如果输入的是start,则会检查程序是否已经在运行,如果没有运行,则会启动程序。如果输入的是stop,则会停止程序。如果输入的是status,则会输出程序的运行状态。如果输入的是restart,则会先停止程序,然后再启动程序。
阅读全文