linux系统下运行java项目的脚本编写
本文主要讲linux系统下运行jar包,至于如何打包jar包,放到linux系统下可以参考其他的博客。
在linux系统下运行jar包的命令如下:
1、java -jar xxxxx.jar // 当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出
2、java -jar xxxxx.jar & //当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。
3、nohup Java -jar xxxxxx.jar & //意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
这个只要部署一次,然后实际运行一下就会发现问题,然后自己搜索。那么如何写一个shell脚本,直接运行resart.sh脚本就好了。
经过几次试验终于写好了。如下:restart.sh
pid=`ps -ef | grep rulecc-1.0.0 | grep -v grep |awk '{print $2}'`
if [ $pid ]; then
echo :App is running pid=$pid
kill -9 $pid
fi
nohup java -jar /apps/rulecc-1.0.0/rulecc-0.0.1-SNAPSHOT.jar &
tail -f nohup.out
对于一些大牛很快就能看懂,如果你跟我一样,一点linux脚本的基础和经验也没有,那么下面的知识和操作有助于你能理解:
1、linux环境下运行了java程序之后,如何查看启动程序的线程?如何关闭运行程序的线程?
第一步:在运行app的路径下输入命令:jps
第二步:当你找到对应的app,那么你一定可以找到对应的线程;没有找到也没有关系,到网上搜搜,或者问问身边写过的人,也能找到。假设目标线程的pid=12522
第三步:“杀死”运行app的线程: kill -9 12522
第四步:重新运行java程序。
第五步:反复操作前面四步。多做几次你一定会懂是什么意思。
下面就来解释一下restart.sh脚本的意思:
第一行:将运行目标的线程pid赋值给pid变量
第二行:判断pid是否在运行
第三行:如果在运行就打印运行的pid
第四行:“杀死”运行的pid
第五行:运行java程序。
第六行:自己搜一下吧。
问题:在写restart.sh的时候遇到了几个问题,都顺利解决了,提供给大家参考,如果有疑问还是没有解决的,欢迎留言。
1、xxx.sh脚本运行不被允许。
2、syntax error near unexpected token。出现这个问题的原因是由于windows环境下的换行符在linux环境下无法识别,所以要转换成linux环境下的。
这个在百度经验里面会有,这里就不罗嗦了。
===============================
下面提供一些常用的linux环境下的运行语句:
[参考文章]
1、http://blog.csdn.net/wggorking/article/details/53925907
2、https://jingyan.baidu.com/article/9f63fb91d014b8c8410f0e7a.html
3、http://blog.csdn.net/catoop/article/details/50588851
4、http://blog.csdn.net/qq_30739519/article/details/51115075
linux系统下运行java项目的脚本编写的更多相关文章
- Jmeter(五十四) - 从入门到精通高级篇 - 如何在linux系统下运行jmeter脚本 - 上篇(详解教程)
1.简介 上一篇宏哥已经介绍了如何在Linux系统中安装Jmeter,想必各位小伙伴都已经在Linux服务器或者虚拟机上已经实践并且都已经成功安装好了,那么今天宏哥就来介绍一下如何在Linux系统下运 ...
- 如何在Linuxt系统下运行maven项目
如何在Linuxt系统下运行maven项目 我们知道现在利用MAVEN来管理JAVA项目是非常常见的.比如公司一般都有一个自己的MAVEN仓库,通过MAVEN仓库来解决我们的项目依赖,更加方便的构建项 ...
- 在Linux系统下运行微信Web开发者工具
微信Web开发者工具只有window版本和mac版本,如果想要在Linux系统下运行微信Web开发者工具,需要花费很大周折. 注:带 * 的步骤或文件为不确定是否管用的步骤或文件.本人系统为Linux ...
- linux系统下重启tomcat的shell脚本
linux系统下重启tomcat的shell脚本: #!/bin/shtomcat_home=/opt/apache-tomcat- #找到tomcat进程的id并kill掉 ps -ef |grep ...
- Linux系统下运行.sh文件
在Linux系统下运行.sh文件有两种方法,比如我在root目录下有个vip666.sh文件 #chmod +x *.sh的文件名 #./*.sh的文件名 第一种(这种办法需要用chmod使得文件具备 ...
- Linux下运行java项目
最近初步接触了linux,感觉很有新鲜感.之前在windows下干过的事情也便想到在linux环境下实现一下.正好手头在编java,就想既然java可以在windows的DOS操作下运行,是不是也可以 ...
- linux 系统下配置java环境变量
liunx桌面版本系统下载地址:http://www.ubuntukylin.com/downloads/ 1.源码包准备: 首先到官网下载jdk,http://www.oracle.com/tech ...
- Linux下运行Java项目时,出现No X11 DISPLAY variable was set, but this program performed an operation which requires it.的问题解决
在~/.bashrc环境变量文件最下方加入: export DISPLAY=:0.0 然后,刷新环境变量以使其生效: source -/.bashrc 参考:http://stackoverflow. ...
- 在linux系统下运行jar包的命令如下
1.java -jar xxxxx.jar // 当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 2.java -jar xxxxx.jar & //当 ...
随机推荐
- poj1067-取石子游戏 (威佐夫博弈)
http://poj.org/problem?id=1067 取石子游戏 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 36 ...
- Python 执行js的2种解决方案-乾颐堂
第1种方案 SpiderMonkey是Mozilla项目的一部分,是一个用C语言实现的JavaScript脚本引擎, 该引擎分析.编译和执行脚本,根据JS数据类型和对象的需要进行内存分配及释放操作:利 ...
- .net 自定义AOP,透明代理与真实代理
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.R ...
- NAT穿透的详细讲解及分析.RP
原创出处:https://bbs.pediy.com/thread-131961.htm 转载来源: https://blog.csdn.net/g_brightboy/article/details ...
- JS中关于位置和尺寸的api
HTMLElement.offsetParent 由于offsetTop 和 offsetLeft 都是相对于 offsetParent 内边距边界的,故offsetParent的意义十分重大.off ...
- [GO]面向对象和面对过程的方式
package main import ( "fmt" ) //这里为面向过程的方式 func Add(a, b int) int { return a + b } //面向对象, ...
- 样条曲线catmull rom转bezier
b0,..,b3是贝塞尔,c-1, c2是catmull rom控制点 [b0] = 1 [ 0 6 0 0] [c_1] [b1] - [-1 6 1 0] [c0] [b2] 6 [ 0 1 6 ...
- 37 有n个人围成一圈,顺序排号,从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号那位.
题目:有n个人围成一圈,顺序排号,从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号那位. public class _037NumberOff { public st ...
- 公众号js-sdk简
后台代码 jssdk.PHP——因sae的不可写环境,故需要将accesstoken和JsApiTicket存入数据库. 数据库字段:id(int 3),accesstoken(string 255) ...
- Android colorAccent、colorPrimary、colorPrimaryDark actionbar toolbar navigationbar
伴随着Android5.0的发布也更新了support-v7-appcompat 到V21,其中增加了ToolBar.recyclerview.cardview等控件. Android5.0对改变AP ...