Linux将程序添加到服务的方法(通用)
一:咱们通过这篇文章来演示怎么将某个程序作为服务(就类似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将程序添加到服务的方法(通用)的更多相关文章
- Windows 程序注册成服务的方法
Windows 程序注册成服务的方法 将windows 程序注册成服务这个是很多后台程序需要实现的功能,注册成服务后,你的程序就可以像windows 服务一样随系统启动,并且隐藏你的控制台界面.下面介 ...
- 如何在Windows Server 2008服务器中把Tomcat启动程序添加到服务中
转自:https://blog.51cto.com/zdytesting/2314093 tomcat所在的bin目录: 添加服务: service install service_name 移除服务 ...
- c#为程序添加全局热键的方法
在程序失去焦点或者在后台运行时,可以通过使用全局热键的方式,进行一些快捷的操作,如QQ默认操作中ctrl+alt+A调出截图功能. 在Windows中实现热键功能需要使用win32的Api函数Regi ...
- Linux(Unix)时钟同步ntpd服务配置方法
http://xu20cn.blog.51cto.com/274020/69689 假定时钟服务器IP地址为:192.168.0.1 服务器端配置: 1:置/etc/ntp.conf文件内容为: se ...
- linux系统下添加新硬盘的方法详解
对于linux新手来说,在linux上添加新硬盘,是很有挑战性的一项工作. 在Linux服务器上把硬盘接好,启动linux,以root登陆. fdisk -l ## 这里是查看目前系统上有几块硬盘 D ...
- linux把程序添加到全局环境变量
比如把, nginx服务放到全局变量 ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/ /usr/local/bin/就是环境变量目录
- 在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 ...
- linux程序自启动和新建linux服务的方法
1 linux创建自启动程序 自启动的两种方法,都经过自己测试.1.1 自启动程序方法1: 在etc/rc.local在里面加入/home/robin/code/autoruntest & ...
- linux 中将用户添加到组的 4 个方法
Linux 组是用于管理 Linux 中用户帐户的组织单位.对于 Linux 系统中的每一个用户和组,它都有惟一的数字标识号.它被称为 用户 ID(UID)和组 ID(GID).组的主要目的是为组的成 ...
随机推荐
- Eclipse安装Svn无法连接问题
在Eclipse市场上安装完SVN插件后连接SVN时出现以下错误: SVN: '0x00400006: Validate Repository Location' operation finished ...
- zookeeper 初步学习
配置文件: tickTime:这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳. dataDir:顾名思义就是 ...
- Openning SharePoint - 80 website gives HTTP 404 Error, The webpage cannot be found ! on SharePoint 2013
ask: I tried to open the SharePoint - 80 throw Browse in IIS, but I get HTTP 404 Error (The webpage ...
- 基元线程同步构造 AutoResetEvent和ManualResetEvent 线程同步
在.Net多线程编程中,AutoResetEvent和ManualResetEvent这两个类经常用到, 他们的用法很类似,但也有区别.ManualResetEvent和AutoResetEvent都 ...
- 逻辑斯蒂回归VS决策树VS随机森林
LR 与SVM 不同 1.logistic regression适合需要得到一个分类概率的场景,SVM则没有分类概率 2.LR其实同样可以使用kernel,但是LR没有support vector在计 ...
- Week4-作业1:阅读笔记与思考
我在这三天时间里阅读了<构建之法>的第四章和第十七章,产生了一些疑问和深层次的思考. 第四章 问题1: 书中第68页提到“注释(包括所有源代码)应该只用ASCII字符,不要用中文或其他特殊 ...
- (转)新手C#SQL语句的学习2018.08.13
1.创建数据库(create) CREATE DATABASE database-name 2.删除数据库(drop) drop database dbname 3.备份数据库 --- 创建 备份数据 ...
- 27-x的y次方的后三位数
题目内容: 输入描述 数据分n组,对于每组数据有两个正整数x和y(x的y次方必须大于100) 输出描述 对于每组输出,输出一个值,即x的y次方结果的最后三位数 提示:13的13次方为:30287510 ...
- fragment Activity之间传值的方法 之------------接口回调
首先 定义一个 回调接口 public interface FragmentCallBack { public void callbackFun1(Bundle arg); public void ...
- 搭建Eureka集群
1.pom文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...