51Testing软件测试论坛

标题: 在 Linux 系统下如何自动启动 jar 包 [打印本页]

作者: 璐璐    时间: 2019-9-26 16:47
标题: 在 Linux 系统下如何自动启动 jar 包

[attach]126654[/attach]
第一步:书写启动脚本, 具体脚本内容如下:
  1. #启动命令所在目录
  2. HOME='/home/tomcat/ForTest'
  3. #获取当前 服务器的 mac 地址 地址(唯一的)
  4. mac=`ifconfig | grep eth0 | awk '{print $5}'`
  5. start(){
  6.   #进入命令所在目录
  7.   cd $HOME
  8.   #启动指定的 jar  包且将日志输出进行重定向 打印到 msghai.log 文件中去
  9.   nohup java -jar dubbo-for-http-0.0.1-SNAPSHOT.jar >msghai.log 2>&1 &

  10. }
  11. stop(){
  12.   # kill 掉所有java程序
  13.   ps -ef | grep java | grep -v grep |awk '{print $2}' | xargs kill -9
  14. }
  15. #linux  脚本 中的 循环判断  如果 后面跟 start  就是启动服务   
  16. #如果 后面跟着 stop  就是停止服务  如果后面 跟着 restart 就是 重启服务;
  17. #使用的时候 下面 这些书写 可以不做任何修改 直接套用即可;
  18. case $1 in
  19.   start)
  20.    start
  21.   ;;
  22.   stop)
  23.    stop
  24.   ;;
  25.   restart)
  26.    $0 stop
  27.    sleep 2
  28.    $0 start
  29.   ;;
  30.   *)
  31.    echo "Usage: {start|stop|restart}"
  32.   ;;
  33. esac
  34. exit 0
复制代码

复制代码
以上的代码含义可以仔细阅读下注释信息;
以上脚本为固定形式,如果当前用户无此权限,就在需要操作的命令前加上 sodu  命令;
例如:你想要 kill 掉进程,此时你的用户没有 kill 权限,就写 sudo  kill
第二步:将脚本放置在linux服务器上的指定位置
当然:如果你可以直连 sftp  就直接连 上传即可;
  如果没有 sftp 权限,就使用  mkdir 创建文件,然后通过  vi 进行编辑;
第三步:直接将Windows 下编辑的 .sh  文件上传 linux 服务器后因为空格等特殊字符转义不同,会报以下错误:
  1. syntax error near unexpected token `
  2. [align=left][color=#000000] [/color][/align][align=left][color=#000000] [font=宋体]此时需要我们执行:[/font][/color][/align][font=宋体][size=10.5pt][color=#000000][font=宋体][code]sed 's/\r//' do1.sh >do.sh
复制代码


windows  下系统中的转义符转义成 Linux 系统下的转义符号;

第四步:执行 chmod 777 do.sh .sh 文件转换成可执行的脚本;

第五步:此后我们想使用此脚本的时候:
  1. 启动 jar  服务:./do.sh start
  2. 停止 jar 服务:./do.sh stop
  3. 重启 jar 服务:./do.sh restart
复制代码

{\r''[/code]
此时需要我们执行:
  1. sed 's/\r//' do1.sh >do.sh
复制代码


windows  下系统中的转义符转义成 Linux 系统下的转义符号;

第四步:执行 chmod 777 do.sh .sh 文件转换成可执行的脚本;

第五步:此后我们想使用此脚本的时候:
  1. 启动 jar  服务:./do.sh start
  2. 停止 jar 服务:./do.sh stop
  3. 重启 jar 服务:./do.sh restart
复制代码






欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2