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).组的主要目的是为组的成 ...
随机推荐
- centos多版本python安装pip
http://www.cnblogs.com/longxiang92/p/5829373.html yum install python-pip 报错 no package python-pip av ...
- SecureCRT结合xmanager远程启动图形化界面程序
我们很多操作都是可以通过命令行的形式来完成,但是由于不支持图形模式,在一些需要图形界面的时候就很麻烦.本次设置可以在secureCRT中直接使用netca\dbca命令,通过xmanager的pass ...
- FileOperator 文件(夹)操作类
public class FileOperator { /** * 复制文件目录 * @param srcDir 要复制的源目录 eg:/mnt/sdcard/DB * @param destDir ...
- Becoming inspired - ASC - 2017 MARCH 24
Becoming inspired - The 11 questions to ask yourself when you feel uninspired @ Advanced Studio Clas ...
- Winform 无纸化办公-屏幕联动
最近做无纸化办公,对接硬件,用了挺多东西总结一下 技术上主要是:asp.net .winform.activeX控件.chrome插件.socket编程,websocket. 其实看着需求挺简单的,在 ...
- JAVA的String类的常用方法(转载)
Java-String类的常用方法总结 一.String类String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.java把String类声明的f ...
- Containerpilot 配置文件 之 consul
Consul ContainerPilot使用Hashicorp的consul在作为服务的容器中注册工作. Watches查询consul找出其他服务的状态. Client configuration ...
- javascript 中 if (window != top) top.location.href = location.href;的意思
如果当前窗口不是顶级窗口,就强制修改为顶级窗口: 目的是为了不让别人用iframe嵌入你的页面
- mysql基本的修改表的命令
修改表相关的命令 1.添加列表 alter table 表名 add 列名 类型; 2.删除某一列 alter table userinfo drop column 列名; 3.修改列的类型 alte ...
- php5.3 延迟静态绑定 static关键字
//传统模式 --这段代码能很好工作,但大量的重复代码很烦人,不想为每个DomainObject子类都创建这段相同代码吧? /* abstract class DomainObject{} class ...