网站设计 中高端,一件代发50个货源网站,综合电商平台,做网站选服务器带宽前言
Linux自启#xff08;或开机自启#xff09;指的是在Linux系统启动时自动运行特定的程序或脚本。当计算机启动时#xff0c;操作系统会按照一定的顺序加载系统服务和配置#xff0c;其中包括自动启动一些应用程序或服务。这些应用程序或服务会在系统启动后自动运行或开机自启指的是在Linux系统启动时自动运行特定的程序或脚本。当计算机启动时操作系统会按照一定的顺序加载系统服务和配置其中包括自动启动一些应用程序或服务。这些应用程序或服务会在系统启动后自动运行以提供特定的功能或服务。
开机自启的好处在于可以在系统启动时自动恢复之前的工作状态减少手动干预同时确保特定的服务或应用程序始终处于运行状态提供持续的服务。
sh脚本是指Shell脚本是一种在Unix/Linux系统上运行的脚本文件通常使用Shell编程语言来编写。Shell是操作系统的一种命令行解释器它可以用来执行操作系统命令、管理文件系统、处理文本数据等。
Shell脚本是一个纯文本文件以.sh扩展名结尾。它包含一系列Shell命令和控制结构用于自动化完成一系列任务。通过编写Shell脚本可以将一系列复杂的操作和任务集中到一个文件中并通过运行脚本来实现这些操作从而简化了操作过程并提高了效率。
一、创建工作目录
Spring Boot是一款方便开发者快速搭建基于Spring的应用程序的工具。而Spring Boot可以方便的加载外部配置文件只需要将配置文件放在指定的位置即可。具体实现如下
mkdir -p /home/java-server/test-demo2、创建启动脚本
进入jar目录
cd /home/java-server/test-demo创建脚本文件
vim start.sh启动脚本内容
#!/bin/sh
export LANGen_US.UTF-8
cd /home/java-server/test-demo
runMessageps aux | grep \cat pidfile.txt\
projectStartCommand/usr/local/java/jdk1.8.0_131/bin/java -jar xxx.jar
if [[ $runMessage *$projectStartCommand* ]]
thenecho Application has starting ,restarting...kill -9 cat pidfile.txtnohup /usr/local/java/jdk1.8.0_131/bin/java -jar xxx.jar -java.tmp.dir/home/java-server/test-demo/temp /dev/null 21 echo $! pidfile.txt
elseecho Application has stopped ,starting...nohup /usr/local/java/jdk1.8.0_131/bin/java -jar xxx.jar -java.tmp.dir/home/java-server/test-demo/temp /dev/null 21 echo $! pidfile.txt
fi
脚本中/home/java-server/test-demo就是jar包所在的可以根据实际情况定。xxx.jar为实际的jar包名称。/usr/local/java/jdk1.8.0_131/bin/java为jdk环境所在路径。
3、创建停止脚本
进入jar目录 cd /home/java-server/test-demo创建脚本文件
vim stop.sh启动脚本内容
#!/bin/sh
cd /home/java-server/test-demo
PID$(cat pidfile.txt)
if [ ${PID} ];
thenecho Application is stpping...echo kill $PID DONEkill $PID
elseecho Application is already stopped...
fi
4、设置开机自启
进入system
# 进入system
cd /usr/lib/systemd/system/
创建自启脚本
vim xxx.service
xxx.service为脚本的名称一般来就是jar包前缀名称一致比如test-demo.service
内容如下
[Unit]
Descriptionxxx
Afternetwork.target[Service]
Typeforking
ExecStart/home/java-server/test-demo/start.sh
ExecStop/home/java-server/test-demo/stop.sh
PrivateTmptrue[Install]
WantedBymulti-user.target
Description描述一般为项目名称ExecStart开启脚本位置ExecStop停止脚本位置
设置脚本权限
systemctl daemon-reload
systemctl enable xxx.service
启动|停止命令
# 启动
systemctl start xxx# 停止
systemctl stop xxx
xxx就是xxx.service的前缀。