在Centos中如何设置开机自动运行jar

    最近有项目开发,需要将一个jar包设为Centos开机后作为系统服务自动运行。同时又可以根据需要随时start、stop或者查看服务的status。在网上看到的方法对于启动java -jar这样的命令并不太适用,所以我研究了一个方法。

     这个办法的大概思路是编写一个脚本,脚本中使用java -jar来启动jar包。然后chkconfig注册为系统服务。如果要停止服务,则先在系统进程中搜索java -jar对应的PID,然后kill掉进程。

首先编写启动脚本。


其中:

#chkconfig 2345 85 15 标识启动等级。

等级0表示:表示关机

等级1表示:单用户模式

等级2表示:无网络连接的多用户命令行模式

等级3表示:有网络连接的多用户命令行模式

等级4表示:不可用

等级5表示:带图形界面的多用户模式

等级6表示:重新启动



start()表示启动的时候将执行的脚本。

stop()表示停止的时候会执行的脚本。脚本首先查询java -jar udeskXXX对应的进程的PID号。如果直接执行ps -ef | grep 这时候会返回两行。这是因为console也会算一个进程。所以需要把第二行内容屏蔽掉。


然后会用到awk这个强大的文本分析工具来截取PID的字段。awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。在这里我们awk '{print $2},把第二个字段的内容打印出来。

ok以后我们把文件保存在/etc/init.d/文件夹下面。先用chmod +x 文件名给这个脚本文件添加执行权限。

用chkconfig --add 命令添加为系统服务。如果添加成功,chkconfig --list的时候可以看到这个条目。


然后可以通过reboot来激活或者进入. /etc/init.d/服务名称 start来启动业务

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 系统巡检脚本:Version 2016.08.09 ############################ 系统...
    NamasAmitabha阅读 1,397评论 0 0
  • 本教程介绍在CentOS 7服务器上实现指定服务开机自启。 1.用sh脚本实现启动服务 vim itService...
    walker_阅读 625评论 0 1
  • 【 ①Java代码自动部署-总结简介】 代码部署是每一个软件开发项目组都会有的一个流程,也是从开发环节到发布功能必...
    程序员日常填坑阅读 633评论 0 1
  • 第 2 章 SHELL 基础知识2.1 shell脚本我们在上面简单介绍了一下什么是shell脚本,现在我们来进一...
    LiWei_9e4b阅读 1,601评论 0 0
  • 六初花(Alstroemeria aurantiaca),百合目六初花科六初花属植物,又名智利百合、秘鲁百合、水仙百合。
    木依舟阅读 340评论 0 0