ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java项目服务部署,启停脚本

2021-10-27 09:33:24  阅读:222  来源: 互联网

标签:脚本 java jar 数据字 启停 awk nohup grep 文本


1. 部署云服务

将生成的.jar包部署到云服务器上

先创建日志文件nohup.outtouch nohup.out

  • nohup:不挂断运行命令,当账户退出或终端关闭时,程序仍然运行,当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件

启动服务:nohup java -jar xx.jar &

关闭服务:

  • 输出端口号为xxxx的服务的PID:netstat -nt|grep xxxx

  • 关闭服务:kill -9 PID

参考(Linux 运行与停止 SpringBoot 项目 jar 包

2. 部署启停脚本

停止服务脚本

#! /bin/bash


jar_name=$1

pid=`ps -ef|grep ${jar_name} |grep -v grep |grep -v stopService |awk '{print $2}'`
kill -9 ${pid}
echo ${jar_name}服务已停止 

grep -v xx:: 显示不包含匹配文本xxx的所有行

awk

基本格式: awk [选项] '脚本命令' 文件名

awk `{print $2}`: 输出第二个字段

需要注意的是,整个脚本命令是用单引号('')括起,而其中的执行命令部分需要用大括号{}括起来。

awk 的主要特性之一是其处理文本文件中数据的能力,它会自动给一行中的每个数据元素分配一个变量。

默认情况下,awk 会将如下变量分配给它在文本行中发现的数据字段:

  • $0 代表整个文本行;
  • $1 代表文本行中的第 1 个数据字段;
  • $2 代表文本行中的第 2 个数据字段;
  • $n 代表文本行中的第 n 个数据字段。

前面说过,在 awk 中,默认的字段分隔符是任意的空白字符(例如空格或制表符)。 在文本行中,每个数据字段都是通过字段分隔符划分的。awk 在读取一行文本时,会用预定义的字段分隔符划分每个数据字段。

所以在下面的例子中,awk 程序读取文本文件,只显示第 1 个数据字段的值:

cat data2.txt
One line of test text.
Two lines of test text.
Three lines of test text.
awk '{print $1}' data2.txt
One
Two
Three

启动服务脚本


#! /bin/bash

jar_name=$1
nohup java -jar $jar_name &

标签:脚本,java,jar,数据字,启停,awk,nohup,grep,文本
来源: https://www.cnblogs.com/muyefeiwu/p/15469007.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有