当前位置: 首页 > news >正文

06_Linux中如何让程序重启后自动启动

Linux中如何让程序重启后自动启动

  • systemd单元文件
    • 1.创建服务文件
      • !!!服务配置文件的介绍
    • 2.需要配置服务的状态(加载和启用服务)
    • 3.验证服务程序的运行状态
    • 4.打印程序的标准输出

systemd单元文件

Systemd 是现代 Linux 发行版中最常用的初始化系统。你可以通过创建一个 .service 文件来定义服务,并将其放置在 /etc/systemd/system 目录下。

1.创建服务文件

sudo touch /etc/systemd/system/myapp.service

在该文件中,可以定义服务的各项属性

[Unit]
Description=My Application Service
After=network.target[Service]
Type=simple
ExecStart=/usr/local/bin/myapp
Restart=on-failure
User=myuser
WorkingDirectory=/var/lib/myapp[Install]
WantedBy=multi-user.target

!!!服务配置文件的介绍

假设你的应用程序位于 /opt/myapp 目录下,并且有一个名为 myapp 的可执行文件。我们将创建一个名为 myapp.service 的文件,以定义如何启动、停止和服务的行为。

[Unit]
Description=My Application Service
After=network.target[Service]
Type=simple
User=myuser
Group=mygroup
ExecStart=/opt/myapp/myapp
WorkingDirectory=/opt/myapp
Restart=on-failure
TimeoutSec=30
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=myapp[Install]
WantedBy=multi-user.target

[Unit] 部分
Description:服务的描述。
After:定义此服务依赖于哪些其他服务。在这里,我们指定 network.target,意味着服务将在网络准备好之后启动。
[Service] 部分
Type:定义服务的启动类型。simple 表示服务只需启动一个主进程。
User:指定服务运行时使用的用户。
Group:指定服务运行时使用的组。
ExecStart:指定启动服务时应执行的命令。这里是启动 /opt/myapp/myapp。
WorkingDirectory:指定服务的工作目录。
Restart:定义服务在失败后的重启策略。on-failure 表示只有在服务异常退出时才重启。
TimeoutSec:定义服务启动的最大超时时间,单位为秒。
StandardOutput 和 StandardError:指定标准输出和标准错误输出的位置。这里设置为 syslog,表示输出将被发送到系统日志。
SyslogIdentifier:定义发送到 syslog 的消息的标识符。
[Install] 部分
WantedBy:指定此服务应该在哪个目标中激活。multi-user.target 表示服务应在多用户模式下启动。

2.需要配置服务的状态(加载和启用服务)

sudo systemctl daemon-reload //重新加载服务
sudo systemctl enable myapp.service
sudo systemctl start myapp.service

3.验证服务程序的运行状态

sudo systemctl status myapp.service

4.打印程序的标准输出

journalctl -f

http://www.mrgr.cn/news/786.html

相关文章:

  • 力扣--两数之和
  • PHP获取和操作配置文件php.ini的几个函数介绍
  • 一文带你深度了解“模糊控制器”的实现原理及C语言实现代码
  • 白骑士的C#教学实战项目篇 4.3 Web开发
  • 高可用集群keepalived的应用以及部署
  • 隧道定位导航技术主要依赖于哪些原理或技术
  • 6路220V交流电通断监测采集,继电器报警输出模块DAM-3020R
  • 【CSS】数字英文css没有转换成...换行点、没有换行、拆分的问题(非常常见的需求)
  • redis字符串若干记录
  • CPU缓存一致性机制详解
  • css如何使一个盒子水平垂直居中
  • 鸿蒙关于可以实现滚动效果的容器组件的相关知识
  • 《广东省消费品召回管理办法》所称的消费品缺陷,是指因设计、制造、警示等原因,致使同一批次、型号或者类别的消费品中___的危及人身、财产安全的不合理危险。()
  • 和等于 k 的最长子数组长度(LeetCode)
  • SpringMVC
  • 二、开发环境和第一个OpenTK程序
  • Mininet应用实践
  • RedisTempate序列化的json字符串,如何反序列化
  • 【SpringBoot】SpringBoot中的异常处理和异常跳转页面
  • 【Python爬虫】技术深度探索与实践