java程序在centos7里面开机自启动

1.我们先来个简单的start,status,stop程序:

[[email protected] ~]# cat /home/tomcat/jarservice.sh
#!/bin/bash
CU_PID=/home/tomcat/cupid.pid
start()
{
echo -n "start java"
nohup java -jar /home/tomcat/exchange-1.4.jar >/dev/null 2>&1 &
new_agent_pid=$!
echo "$new_agent_pid" > $CU_PID
}
stop()
{
if [ -f /home/tomcat/cupid.pid ];then
SPID=`cat /home/tomcat/cupid.pid`
if [ "$SPID" != "" ];then
kill -9 $SPID
echo >$CU_PID
echo "stop sucess"
fi
fi
}
CheckProcessStata()
{
CPS_PID=$1
if [ "$CPS_PID" != "" ] ;then
CPS_PIDLIST=`ps -ef|grep $CPS_PID|grep -v grep|awk -F" " ‘{print $2}‘`
else
CPS_PIDLIST=`ps -ef|grep "$CPS_PNAME"|grep -v grep|awk -F" " ‘{print $2}‘`
fi

for CPS_i in `echo $CPS_PIDLIST`
do
if [ "$CPS_PID" = "" ] ;then
CPS_i1="$CPS_PID"
else
CPS_i1="$CPS_i"
fi

if [ "$CPS_i1" = "$CPS_PID" ] ;then
#kill -s 0 $CPS_i
kill -0 $CPS_i >/dev/null 2>&1
if [ $? != 0 ] ;then
echo "[`date`] MC-10500: Process $i have Dead"
kill -9 $CPS_i >/dev/null 2>&1

return 1
else
#echo "[`date`] MC-10501: Process is alive"
return 0
fi
fi
done
echo "[`date`] MC-10502: Process $CPS_i is not exists"
return 1
}

status()
{
SPID=`cat /home/tomcat/cupid.pid`
CheckProcessStata $SPID >/dev/null
if [ $? != 0 ];then
echo "unixdialup:{$SPID} Stopped ...."
else
echo "unixdialup:{$SPID} Running Normal."
fi

}

restart()
{
echo "stoping ... "
stop
echo "staring ..."
start
}

case "$1" in
start)
start
;;
stop)
stop
;;
status)
status
;;
restart)
restart
;;
*)
echo $"Usage: $0 {start|stop|restart}"
RETVAL=1
esac
exit $RETVAL

2.再写个服务文件:

[[email protected] ~]# cat /lib/systemd/system/jar.service
[Unit]
Description=java
After=network.target

[Service]
Type=forking
ExecStart=/home/tomcat/jarservice.sh start
ExecReload=/home/tomcat/jarservice.sh restart
ExecStop=/home/tomcat/jarservice.sh stop
#PrivateTmp=true
User=tomcat
[Install]
WantedBy=multi-user.target
[[email protected] ~]#

3.开机测试:成功!!!

[[email protected] ~]# systemctl status jar.service
● jar.service - java
Loaded: loaded (/usr/lib/systemd/system/jar.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2017-07-27 01:10:38 EDT; 36s ago
Process: 858 ExecStart=/home/tomcat/jarservice.sh start (code=exited, status=0/SUCCESS)
Main PID: 870 (java)
CGroup: /system.slice/jar.service
└─870 java -jar /home/tomcat/exchange-1.4.jar

时间: 2024-08-27 07:52:21

java程序在centos7里面开机自启动的相关文章

Linux中java程序的部署,开机自启动(一)

Linux系统中 需求: (1)使用.sh文件控制java程序的启动.停止.重启.查看状态 需求升级: (2)将java程序部署为开机自动启动,使用service hello status/stop等模式控制程序的运行情况 我是参考下面几篇文章实现的 Linux中部署JAVA程序 http://www.linuxidc.com/Linux/2013-09/90673.htm 设置Linux自启动服务 http://just4java.iteye.com/blog/474392 =========

Linux中java程序的部署,开机自启动(二)

这是从网上看到的,没有实践过,不知道是否容易部署,留作以后有时间再研究 貌似都是使用同一种方式,到时可以参考比较 使用Java Service Wrapper将java程序作为linux服务并且开机自动启动 http://www.blogjava.net/shufudong/articles/283241.html 使用Java Service Wrapper将Java程序发布成Windows Service http://www.cnblogs.com/Cindy_weiwei/archive

如何把一个c语言程序做成windows服务开机自启动

原文:如何把一个c语言程序做成windows服务开机自启动 目前写的程序是一个用c语言实现socket侦听的,那么如何把这个程序做成开机自启动呢? 我们是通过vs6.0,编译后生成了.exe文件,然后对这个exe文件进行开机自启动设置.具体设置步骤如下: 第一,注册服务名称. (1)下载Instsrv.exe和srvany.exe两个文件.并将其拷贝到C:\WINDOWS文件夹下. (2)执行命令.C:\WINDOWS>instsrv hope c:\WINDOWS\srvany.exe 这里,

linux 精简开机自启动

centos7 精简开机自启动 ntsysv rsyslog  crond  sshd network 原文地址:https://www.cnblogs.com/LC161616/p/10356194.html

Android开机自启动程序

背景知识:当Android启动时,会发出一个系统广播,内容为ACTION_BOOT_COMPLETED,它的字符串常量表示为 android.intent.action.BOOT_COMPLETED.只要在程序中“捕捉”到这个消息,再启动之即可.记住,Android框架说:Don''t call me, I''ll call you back.我们要做的是做好接收这个消息的准备,而实现的手段就是实现一个BroadcastReceiver. 1.界面Activity,BootStartDemo.j

cenOS设置程序开机自启动的方法

cenOS设置程序开机自启动的方法主要有两种 1.把启动程序的命令添加到/etc/rc.d/rc.local 文件夹中. eg1.设置开机启动mysql vim /etc/rc.d/rc.local #!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want

CentOS7中设置Tomcat8开机自启动

CentOS7中设置Tomcat8开机自启动 本文介绍了在centos7中配置tomcat的开机自启动的一些操作步骤,仅供参考. 环境是CentOS 7 ,jdk版本是1.8.0_191,tomcat的版本是8 版本介绍 系统:centos7.4 java jdk 1.8 web服务器:tomcat8 一.首先是JDK环境配置 如果有什么疑问可以参考CentOS 7虚拟机下JDK安装该文章 二.安装Tomcat 下载apache-tomcat-8.5.37.tar.gz 1.在终端命令行中输入:

将程序复制到系统目录,设置开机自启动

程序比较简单,用到了C语言获得自身路径和系统路径,修改注册表项等,某些函数不理解可以查看MSDN 1 #include<stdio.h> 2 #include<windows.h> 3 4 char *GetFilename(char *p) //得到一个路径的纯文件名 5 { 6 int x=strlen(p); 7 char ch='\\'; 8 char *q=strrchr(p,ch); 9 return q; 10 } 11 12 13 int main() 14 { 1

android 程序开机自启动

今天遇到程序开机自启动,然后查了一下,很简单,就记录一下. 开机自启动,一般我们是开启启动一个广播,然后在广播里启动Activity或者别的服务. 我们要做的很简单,就是在AndroidManifest.xml  里面的广播中添加一行代码 <receiver android:name="广播名称"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED