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

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

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

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

// 这里说明下,下面的内容凡是在/**/内的都表示为了描述功能而做的备注,不应该写到真实环境
#!/bin/bash
#chkconfig: 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 networking is up/*如果你的不是网络服务则这句话不要它,而且即便是网络服务也要有一些特殊配置这个代码才会有效*/
[ "$NETWORKING" = "no" ] && exit #tomcat home path
tomcat=/usr/local/apache-tomcat-8.5.
startup=$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" in
start|stop|restart|status)
$
;;/*类似break;*/
*)/*default,后面也可以加上;;,*)并非必须的*/
echo 'Not support operation.'
esac exit 0/*表示此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将程序添加到服务的方法(通用)的更多相关文章

  1. Windows 程序注册成服务的方法

    Windows 程序注册成服务的方法 将windows 程序注册成服务这个是很多后台程序需要实现的功能,注册成服务后,你的程序就可以像windows 服务一样随系统启动,并且隐藏你的控制台界面.下面介 ...

  2. 如何在Windows Server 2008服务器中把Tomcat启动程序添加到服务中

    转自:https://blog.51cto.com/zdytesting/2314093 tomcat所在的bin目录: 添加服务: service install service_name 移除服务 ...

  3. c#为程序添加全局热键的方法

    在程序失去焦点或者在后台运行时,可以通过使用全局热键的方式,进行一些快捷的操作,如QQ默认操作中ctrl+alt+A调出截图功能. 在Windows中实现热键功能需要使用win32的Api函数Regi ...

  4. Linux(Unix)时钟同步ntpd服务配置方法

    http://xu20cn.blog.51cto.com/274020/69689 假定时钟服务器IP地址为:192.168.0.1 服务器端配置: 1:置/etc/ntp.conf文件内容为: se ...

  5. linux系统下添加新硬盘的方法详解

    对于linux新手来说,在linux上添加新硬盘,是很有挑战性的一项工作. 在Linux服务器上把硬盘接好,启动linux,以root登陆. fdisk -l ## 这里是查看目前系统上有几块硬盘 D ...

  6. linux把程序添加到全局环境变量

    比如把, nginx服务放到全局变量 ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/ /usr/local/bin/就是环境变量目录

  7. 在Linux中将php-fpm配置成服务的方法

    1.配置php-fpm.conf vi /usr/local/php/etc/php-fpm.conf php-fpm.pid 目录必须指向:/usr/local/php/var/run/php-fp ...

  8. linux程序自启动和新建linux服务的方法

    1 linux创建自启动程序    自启动的两种方法,都经过自己测试.1.1 自启动程序方法1:    在etc/rc.local在里面加入/home/robin/code/autoruntest & ...

  9. linux 中将用户添加到组的 4 个方法

    Linux 组是用于管理 Linux 中用户帐户的组织单位.对于 Linux 系统中的每一个用户和组,它都有惟一的数字标识号.它被称为 用户 ID(UID)和组 ID(GID).组的主要目的是为组的成 ...

随机推荐

  1. 树莓派实现远程下载(apache2+aria2+webui-aria2)

    1.挂载存储设备(可远程设备) 本例是挂载路由器上的移动硬盘,也可以挂载连接在树莓派上的U盘. sudo mount -t cifs -o dir_mode=0777,file_mode=0777   ...

  2. plot绘图

    plot绘图 坐标系图(折线图) 折线图用于显示随时间或有序类别的变化趋势 plt.plot(x,y,format_string,**kwargs) y:Y轴数据,列表或数组,必选 x:X轴数据,列表 ...

  3. RNN LSTM 介绍

    [RNN以及LSTM的介绍和公式梳理]http://blog.csdn.net/Dark_Scope/article/details/47056361 [知乎 对比 rnn  lstm  简单代码] ...

  4. python集合的交,差,并,补集合运算汇总

    集合操作实际用的不多,了解即可. 交集:          ( & 或者 intersection ) 并集:    ( | 或者 union ) 差集:   ( -  或者  differe ...

  5. Centos7 創建快捷方式

    usr/share/applications 創建文件 Gogland.desktop [Desktop Entry]Version=1Type=ApplicationName=GoglandGene ...

  6. 读《asp.net MVC4开发指南(黄保翕编著)》笔记

    在刚刚过去的中秋节中,利用了两天的碎片时间把黄保翕编著的<asp.net MVC4 开发指南>看了遍,笔记如下,欢饮在开发MVC的同学一起来探讨: 1.社区 2.开源程序 3.易测试性 4 ...

  7. 网站连接数据库连接不上原因是ip地址与端口号格式不对

    192.168.1.1:8080这样连接一直出错, 后来改为192.168.1.1,8080就可以了 原因是格式不对,把冒号给为逗号就可以了

  8. 亲, 我们来再重申一遍"=="和"equals的区别

    今天经历的一个事情太丢脸了, 一个学弟向我请教问题, 是这样的: 一个字符串里面含有空格, 不允许使用.trim()和replace方法, 只用if和for将空格去掉, 题目很简单, 一开始我是这样写 ...

  9. 归并排序/合并排序c++实现

    #include <iostream>#include<string.h> using namespace std;class merges{public:void merge ...

  10. Java数据类型与MySql数据类型对照表

    这篇文章主要介绍了Java数据类型与MySql数据类型对照表,以表格形式分析了java与mysql对应数据类型,并简单讲述了数据类型的选择与使用方法,需要的朋友可以参考下 本文讲述了Java数据类型与 ...