一:咱们通过这篇文章来演示怎么将某个程序作为服务(就类似Windows服务可以开机自动启动),这里以tomcat为例,已经亲测过;

二:步骤(最好用root用户来做这种事情,切换root用户记得su - root)

1)在/etc/rc.d/init.d目录下新建服务名文件,我个人的是叫tomcatd;此时存在/etc/rc.d/init.d/tomcatd文件;

2)编辑这个文件,最终代码如下:

// 这里说明下,下面的内容凡是在/**/内的都表示为了描述功能而做的备注,不应该写到真实环境

#!/bin/bash

#chkconfig:2345 90 60/*2345是表示这个服务的优先级,可以跟着写即可,90和60分别代表start和kill的优先级,目前所知似乎只要是10-90之间就没太大问题*/#description: auto_run/*据说是为了可以自动运行,而且还有说没有这个参数就会怎样怎样的,但是我在CentOS下测试这个可以没有*/

#source function libary/*更新一下最新的配置*/

./etc/rc.d/init.d/functions

#source networking configuration

./etc/sysconfig/network

#check that networkingisup/*如果你的不是网络服务则这句话不要它,而且即便是网络服务也要有一些特殊配置这个代码才会有效*/

["$NETWORKING" = "no" ] && exit 0#tomcat home path

tomcat=/usr/local/apache-tomcat-8.5.29startup=$tomcat/bin/startup.sh

shutdown=$tomcat/bin/shutdown.sh

#echo-n 是不换行输出,即前后两个echo输出的在同一行

#$?是上一次执行命令的返回值

start(){

echo-n $"Starting tomcat service:"sh $startup

echo $?/*每次service tomcatd start都会输出一句话最后OK什么的*/}

stop(){

echo-n $"Stoping tomcat service:"sh $shutdown

echo $?}

restart(){

stop

start

}

status(){

/*这个输出状态的个人偷懒了,可以写精确一点*/

ps-ef|grep tomcat

}case "$1" instart|stop|restart|status)

$1;;/*类似break;*/*)/*default,后面也可以加上;;,*)并非必须的*/

echo'Not support operation.'esac

exit0/*表示此shell命令执行成功*/

上面的脚本根据自己的需求写好保存,然后通过:

chkmod 755 /etc/rc.d/init.d/tomcatd;给这个脚本文件添加所属者所有权限和组即其它人的读和运行的权限;

然后用chkconfig --add tomcatd;命令将该脚本添加到服务;

用chkconfig tomcatd on;将此服务作为开机启动服务;

之后便是用service tomcatd (start|stop|restart|stop)命令操作此服务了;

以上均自己测试过,如果有问题可以检查自己的jdk/jre是否安装配置好(如果跟java无关则是不需要配置的)

linux system更好方法,Linux将程序添加到服务的方法(通用【但最好还是用systemd】)...相关推荐

  1. 利用多态特性,创建一个手机类Phones,定义打电话的方式call,创建三个子类,并在各自的方法中重写方法,编写程序入口main()方法,实现多种手机打电话...

    |--需求说明 利用多态特性,创建一个手机类Phones,定义打电话的方式call,创建三个子类,并在各自的方法中重写方法,编写程序入口main()方法,实现两种手机打电话 |--解题思路 采用简单工 ...

  2. python语言的两种注释方法_python编程时添加中文注释的方法

    python编程时添加中文注释的方法 发布时间:2020-08-24 17:09:52 来源:亿速云 阅读:77 作者:小新 这篇文章主要介绍python编程时添加中文注释的方法,文中介绍的非常详细, ...

  3. cf不能全屏win7的解决方法_win7系统无法添加网络打印机的解决方法

    今天小编给大家分享的是win7系统无法添加网络打印机的解决方法,使用win7系统过程中, 一些用户会在局域网中添加 添加网络打印机方便快捷打印,当你遇到无法添加提示"打印机无法安装" ...

  4. linux system函数传参,Linux系统调用例程system_call和参数传递

    系统调用接口调用"int $Ox8O"指令进入内核并准各了相关参数后,剩下的工作就由系统调用例程来进行.Linux定义的系统调用 例程的入口为system_call.下面具体介绍s ...

  5. linux system查看内存占用,Linux查看系统内存占用

    1.查看内存情况 free -h 解释下基本概念 Mem 内存的使用信息 Swap 交换空间的使用信息 total 系统总的可用物理内存大小 used 已被使用的物理内存大小 free 还有多少物理内 ...

  6. java 死循环排查_java应用死循环排查方法或查找程序消耗资源的线程方法(面试)...

    今天遇到一个面试,怎么在一堆线程中查找一个死循环? 如果遇到线上应用cpu飙升,并出现OutOfMemery怎么办? 首先线上应用的jvm配置要养成良好的习惯,增加一下配置则可以在jvm发生 oom的 ...

  7. CDH添加第三方服务的方法

    前瞻导读 CDH可以很方便的添加一些大数据相关服务,但这仅限于cloudera公司提供.若想将第三方服务(如公司自己开发的组件)添加到CDH集群(托管在CDH上),需要按照一定的规则流程制作相关程序包 ...

  8. C++ 将控制台程序改成服务

    C++ 将控制台程序改成服务 C++ 将控制台程序改成服务 给打家介绍一个简单易用的方法将控制台程序改成服务的方法.直接上代码 #include <iostream> #include & ...

  9. linux卸载gdb命令,Linux_Unix卸载gdb调试工具出现问题的解决方法,  Unix系统通过命令能够卸载 - phpStudy...

    Unix卸载gdb调试工具出现问题的解决方法 Unix系统通过命令能够卸载安装的程序,但有用户在用make uninstall命令卸载gdb调试工具时出现了问题,卸载失败,下面小编就教大家Unix如何 ...

最新文章

  1. mysql datediff多一天_MySQL DATEDIFF函数获取两个日期的时间间隔的方法
  2. A watermeten 《Before an Exam》
  3. QTP和WinRunner区别
  4. android监听方法的耗时时间,Android从网络获取北京时间以及动态的监听时间
  5. python 4舍5入_python中的四舍五入
  6. 交换排序图解_10大经典排序算法,20+张图就搞定
  7. android studio | openGL es 3.0增强现实(AR)开发 (2) .so文件的应用和理解
  8. Unity开发(2)建片草地
  9. c语言实现sdcch信道编码译码,gsm信道编码办法及分类
  10. 有人知道要怎么用c++提取出文本里面的信息吗,例如把这个表格里的所有住户账号,密码提取出来
  11. 公司职位英文及缩写大全
  12. android 刘海机型适配,Android全面屏刘海适配
  13. 深度学习环境搭建(从卸载CUDA到安装,以及Pytorch与torchvision的安装。你从未见过的全有版本)
  14. gitlab 的备份与恢复
  15. Failed to load project configuration:xxx cannot read file .idea/misc.xml
  16. 云计算原来是IT界工资最高的
  17. 蓝桥 历届试题 矩阵翻硬币 JAVA
  18. 中国古代的礼制和宗法
  19. Python:编写缩写词,由一个短语中每个单词的第一个字母组成,均为大写。
  20. 计算机在化学中的应用评述文献,计算机模拟在化学中的应用

热门文章

  1. Stream学习过程中遇到的一个问题记录
  2. 手机进销存系统/供应链管理系统
  3. asp.net winform 实现复制,粘贴,剪切功能
  4. POJ 3660 Cow Contest【传递闭包】
  5. 关于用css实现的文字超出部分显示省略号
  6. C#语言之“中英文混合字符串对齐”的方法
  7. 更新node_kubernetes证书更新
  8. 利用已有的标注文字信息制作fake数据
  9. Cocos2dx实现象棋之布局
  10. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 23丨学生们参加各科测试的次数【难度简单】​