本文主要讲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环境下的运行语句:

cd ..   //回到上一级目录
cd /apps   //打开文件夹
ls     //查看文件
 
cd ./icreditrisk   //打开当前文件夹下的某文件夹
ls    // 查看文件
 
vim application.xml // 查看该文件
i           // 插入,修改
q!           // 放弃修改
wq      //保存修改

[参考文章]

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项目的脚本编写的更多相关文章

  1. Jmeter(五十四) - 从入门到精通高级篇 - 如何在linux系统下运行jmeter脚本 - 上篇(详解教程)

    1.简介 上一篇宏哥已经介绍了如何在Linux系统中安装Jmeter,想必各位小伙伴都已经在Linux服务器或者虚拟机上已经实践并且都已经成功安装好了,那么今天宏哥就来介绍一下如何在Linux系统下运 ...

  2. 如何在Linuxt系统下运行maven项目

    如何在Linuxt系统下运行maven项目 我们知道现在利用MAVEN来管理JAVA项目是非常常见的.比如公司一般都有一个自己的MAVEN仓库,通过MAVEN仓库来解决我们的项目依赖,更加方便的构建项 ...

  3. 在Linux系统下运行微信Web开发者工具

    微信Web开发者工具只有window版本和mac版本,如果想要在Linux系统下运行微信Web开发者工具,需要花费很大周折. 注:带 * 的步骤或文件为不确定是否管用的步骤或文件.本人系统为Linux ...

  4. linux系统下重启tomcat的shell脚本

    linux系统下重启tomcat的shell脚本: #!/bin/shtomcat_home=/opt/apache-tomcat- #找到tomcat进程的id并kill掉 ps -ef |grep ...

  5. Linux系统下运行.sh文件

    在Linux系统下运行.sh文件有两种方法,比如我在root目录下有个vip666.sh文件 #chmod +x *.sh的文件名 #./*.sh的文件名 第一种(这种办法需要用chmod使得文件具备 ...

  6. Linux下运行java项目

    最近初步接触了linux,感觉很有新鲜感.之前在windows下干过的事情也便想到在linux环境下实现一下.正好手头在编java,就想既然java可以在windows的DOS操作下运行,是不是也可以 ...

  7. linux 系统下配置java环境变量

    liunx桌面版本系统下载地址:http://www.ubuntukylin.com/downloads/ 1.源码包准备: 首先到官网下载jdk,http://www.oracle.com/tech ...

  8. 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. ...

  9. 在linux系统下运行jar包的命令如下

    1.java -jar xxxxx.jar  // 当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 2.java -jar xxxxx.jar &   //当 ...

随机推荐

  1. 用Box2d物理引擎设计类似愤怒小鸟投篮游戏 物理引擎的引入和基本框架搭建

  2. 【Todo】Linux进程调度算法学习

    参考这篇文章 http://blog.chinaunix.net/uid-27052262-id-3239260.html Linux支持三种进程调度策略,分别是SCHED_FIFO . SCHED_ ...

  3. qt的exe文件查找依赖的dll

    用qtcreater编译完工程生成的exe文件往往会依赖dll文件.如何一次定位exe文件所以依赖的所有dll文件呢,今天发现了软件叫hap-depends. 截图如下: 用这个软件打开exe文件就会 ...

  4. labelme2COCO

    # -*- coding:utf-8 -*-# !/usr/bin/env python import argparseimport jsonimport matplotlib.pyplot as p ...

  5. mysql sql left right inner join区别及效率比较

    一.Join语法概述 join 用于多表中字段之间的联系,语法如下: ... FROM table1 INNER|LEFT|RIGHT JOIN table2 ON conditiona table1 ...

  6. Linux-shell-算术运算{expr、bc、dc、(( ))和[ ]}

    Linux-shell-算术运算{expr.bc.dc.(( ))和[ ]} 摘自: https://www.cnblogs.com/snowsolf/p/3325235.html 在Linux下做算 ...

  7. 通过input上传图片,判断不同浏览器及图片类型和大小的js代码

    1.jsp页面代码 <form id="userPhoto" name="userPhoto" method="post" actio ...

  8. hydra(九头蛇)多协议暴力破解工具

    一.简介 hydra(九头蛇)全能暴力破解工具,是一款全能的暴力破解工具,使用方法简单 二.使用 使用hydra -h 查看基本用法 三.命令 hydra [[[-l LOGIN|-L FILE] [ ...

  9. 解决Visual C++工程中包含 .c 或cpp文件编译时产生的.pch预编译头错误(C1853)的办法

    2014-01-17 23:36 5128人阅读 评论(1) 收藏 举报 分类: 资料集(282) 版权声明:本文为博主原创文章,未经博主允许不得转载. 之前使用网上的一个开源代码,被封装成Windo ...

  10. Shell脚本中$0、$?、$!、$$、$*、$#、$@

    1. $$Shell本身的PID(ProcessID) 2. $!Shell最后运行的后台Process的PID 3. $?最后运行的命令的结束代码(返回值) 4. $-使用Set命令设定的Flag一 ...