Linux 启动jar脚本
#前言
保存下 重启jar脚本,当然网上很多,就不一一列举啦
#脚本
#!/bin/bash #这里可替换为你自己的执行程序,其他代码无需更改 APP_NAME=ump-1.0.0-S.jar cd `dirname $0` #使用说明,用来提示输入参数 usage() { echo "Usage: sh 执行脚本.sh [start|stop|restart|status]" 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 -jar $APP_NAME > /dev/null 2>&1 & echo "${APP_NAME} is start success" #tail -f fileserver-web.out fi } #停止方法 stop(){ is_exist if [ $? -eq "0" ]; then kill -9 $pid echo "${APP_NAME} is stoped" 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 } #根据输入参数,选择执行对应方法,不输入则执行使用说明 case "$1" in "start") start ;; "stop") stop ;; "status") status ;; "restart") restart ;; *) usage ;; esac
#编码
因为大家一般都是在windows上复制编辑的,需要注意在dos/window下按一次回车键实际上输入的是“回车(CR)”和“换行(LF)”,而Linux/unix下按一次回车键只输入“换行(LF)”,所以修改的sh文件在每行都会多了一个CR,所以Linux下运行时就会报错找不到命令。
解决方法:
1.在windows上可以通过各种编辑器转换下格式即可;
2.已经放到服务器上的,可以通过vi/vim修改格式
vi test.sh 查看文件格式(fileformat=dos) :set ff 修改文件格式 :set ff=unix 或者::set fileformat=unix 保存退出即可 :wq