举个例子
linux7开机自启动东方通tongweb
自启动服务:
可以通过把TongWeb设置为系统服务来实现。
具体实现:
脚本必须放在/etc/init.d目录,才能有后续的自启动配置
以root用户进行操作,在/etc/init.d目录下编写TongWeb的服务脚本tongweb,用来控制TongWeb的启动和停止。
脚本内容如下:
#!/bin/bash
#
# tongweb This shell script takes care of starting and stopping
# standalone tongweb.
#
# chkconfig:2345 80 90
# description:auto_run
# that answers incoming ftp service requests.
# processname:tongweb
start(){
su - root -c "cd /opt/TongWeb5.0/bin;nohup ./startserver.sh &"
}
stop(){
su - root -c "cd /opt/TongWeb5.0/bin;nohup ./stopserver.sh &"
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 3
start
;;
*)
exit 1
esac
exit 0
使用chkconfig命令把服务脚本加入到系统服务列表中。
chkconfig --add tongweb
设置系统开机时自动启动
chkconfig tongweb on
服务器启动时,TongWeb即可自动启动。
我本地用tomcat测试了一下
tomcat脚本文件
#!/bin/bash
#
# tongweb This shell script takes care of starting and stopping
# standalone tongweb.
#
# chkconfig:2345 80 90
# description:auto_run
# that answers incoming ftp service requests.
# processname:tongweb
start(){
su - root -c "cd /appsofr/apache-tomcat-8.5.72/bin;nohup ./startup.sh &"
}
stop(){
su - root -c "cd /appsofr/apache-tomcat-8.5.72/bin;nohup ./shutdown.sh &"
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 3
start
;;
*)
exit 1
esac
exit 0
如果需要手动关闭之类的,可以这样操作
[root@harbor ~]# chkconfig --list | grep tomcat
注:该输出结果只显示 SysV 服务,并不包含
原生 systemd 服务。SysV 配置数据
可能被原生 systemd 配置覆盖。
要列出 systemd 服务,请执行 'systemctl list-unit-files'。
查看在具体 target 启用的服务请执行
'systemctl list-dependencies [target]'。
tomcat 0:关 1:关 2:开 3:开 4:开 5:开 6:关
[root@harbor ~]# ps -ef|grep tomcat
root 1183 1 3 15:06 ? 00:00:07 /usr/java/jdk1.8.0_291-amd64/jre/bin/java -Djava.util.logging.config.file=/appsofr/apache-tomcat-8.5.72/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /appsofr/apache-tomcat-8.5.72/bin/bootstrap.jar:/appsofr/apache-tomcat-8.5.72/bin/tomcat-juli.jar -Dcatalina.base=/appsofr/apache-tomcat-8.5.72 -Dcatalina.home=/appsofr/apache-tomcat-8.5.72 -Djava.io.tmpdir=/appsofr/apache-tomcat-8.5.72/temp org.apache.catalina.startup.Bootstrap start
root 8022 5885 0 15:09 pts/0 00:00:00 grep --color=auto tomcat
[root@harbor ~]# systemctl stop tomcat
[root@harbor ~]# ps -ef|grep tomcat
root 8465 5885 0 15:09 pts/0 00:00:00 grep --color=auto tomcat
[root@harbor ~]# systemctl start tomcat
[root@harbor ~]# ps -ef|grep tomcat
root 8595 1 99 15:09 ? 00:00:02 /usr/java/jdk1.8.0_291-amd64/jre/bin/java -Djava.util.logging.config.file=/appsofr/apache-tomcat-8.5.72/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /appsofr/apache-tomcat-8.5.72/bin/bootstrap.jar:/appsofr/apache-tomcat-8.5.72/bin/tomcat-juli.jar -Dcatalina.base=/appsofr/apache-tomcat-8.5.72 -Dcatalina.home=/appsofr/apache-tomcat-8.5.72 -Djava.io.tmpdir=/appsofr/apache-tomcat-8.5.72/temp org.apache.catalina.startup.Bootstrap start
root 8677 5885 0 15:10 pts/0 00:00:00 grep --color=auto tomcat
[root@harbor ~]#
已经手工配置成功。