192.systemctl的应用

发表于 linux 分类,标签:
# 创建并编辑服务单元文件
vim /etc/systemd/system/quota-service.service

# 在文件中添加以下内容
[Unit]
Description=Quota Service
After=network.target
#[Unit]这是单元文件的头部分,描述服务的基本信息和依赖关系。
#Description=Quota Service:这是对该服务的简要描述。系统管理员在查看服务列表时会看到这段描述。
#After=network.target:指定该服务应在 network.target 之后启动。
#network.target表示网络已启动。这确保了服务在网络可用后启动。

[Service]
User=userjava
WorkingDirectory=/data/wwwroot/quota-dev
ExecStart=/usr/bin/java -jar -Xms1024M -Xmx1024M /data/wwwroot/quota-dev/quota-service -env=test
SuccessExitStatus=143
Restart=on-failure
RestartSec=10
#[Service]:这是单元文件的服务部分,描述服务的启动、运行和停止行为。
#User=userjava:指定以哪个用户的身份运行该服务。在这里,服务以 userjava 用户的身份运行。
#WorkingDirectory=/data/wwwroot/quota-dev:设置服务的工作目录。在这里,服务在 /data/wwwroot/quota-dev 目录下运行。
#ExecStart=/usr/bin/java -jar -Xms1024M -Xmx1024M /data/wwwroot/quota-dev/quota-service -env=test:指定服务启动时要执行的命令。这里运行的是一个 Java 应用程序,指定了 JAR 文件路径和启动参数。
#SuccessExitStatus=143:指定服务成功退出的状态码。143 是 SIGTERM 信号(128 + 15)的退出码,这表示服务被系统正常终止时也是一个成功的退出状态。
#Restart=on-failure:指定服务在失败时重新启动。在这里,当服务因非正常原因(退出状态不是 0 或 SuccessExitStatus 中指定的状态)退出时,Systemd 会重新启动服务。
#RestartSec=10:指定服务在重新启动前的等待时间(以秒为单位)。在这里,服务在失败后等待 10 秒钟后重新启动。

[Install]
WantedBy=multi-user.target
#[Install]:这是单元文件的安装部分,描述如何安装服务以及在哪些目标下激活服务。
#WantedBy=multi-user.target:指定服务的目标。multi-user.target是一个常用的运行级别,类似于运行级别3(多用户模式,不含图形界面)。这表示该服务将在多用户模式下启动,并作为这个目标的一部分启用。


# 重新加载 Systemd 配置
sudo systemctl daemon-reload

# 启动服务
sudo systemctl start quota-service

# 启用服务开机启动
sudo systemctl enable quota-service

# 检查服务状态
sudo systemctl status quota-service


0 篇评论

发表我的评论