CentOS 自启动某个应用

在 CentOS 中,如果你希望某个应用程序在网络启动后自动启动,可以通过创建自定义的 Systemd 服务文件来实现。这种方法是现代 Linux 系统的一种推荐方式,可以让你更好地控制服务的启动顺序和依赖关系。

步骤如下:

1. 创建 Systemd 服务文件
  1. 打开终端,并使用 sudo 权限创建自定义的服务文件。服务文件通常位于 /etc/systemd/system/ 目录下。

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

    这里的 myapp.service 是你为服务指定的名称,可以根据需要进行更改。

  2. 在文件中添加以下内容:

    [Unit]
    Description=My Application Service
    After=network.target  # 确保在网络启动后再启动该应用
    
    [Service]
    ExecStart=/path/to/your/application  # 替换为应用程序的完整路径
    Restart=always  # 如果应用程序崩溃,自动重启
    
    [Install]
    WantedBy=multi-user.target
    
    • Description: 提供服务的描述。
    • After=network.target: 确保在网络服务启动后再启动你的应用程序。
    • ExecStart: 指定启动应用程序的具体命令或路径。
    • Restart : 设置崩溃后自动重启的策略,可以使用 alwayson-failure 等。
  3. 保存并退出编辑器。如果使用 vi,可以按 Esc 然后输入 :wq 保存并退出。

2. 重新加载 Systemd 管理器

在创建或修改服务文件后,需要重新加载 Systemd 才能识别新的服务:

sudo systemctl daemon-reload
3. 启用自启动

使用以下命令将服务设置为自启动:

sudo systemctl enable myapp.service
4. 启动服务

如果你希望立即启动该服务,可以使用以下命令:

sudo systemctl start myapp.service
5. 检查服务状态

可以使用以下命令检查服务的状态,确保它正在运行:

sudo systemctl status myapp.service

6. 日志查看

如果需要查看应用程序的输出或日志信息,可以使用 journalctl 命令:

sudo journalctl -u myapp.service

总结

以上步骤创建了一个 Systemd 服务,该服务会在网络启动后自动启动指定的应用程序。通过这种方式,你可以有效管理服务的启动、停止和重启等操作。

相关推荐
吃肉不能购12 分钟前
Label-studio-ml-backend 和YOLOV8 YOLO11自动化标注,目标检测,实例分割,图像分类,关键点估计,视频跟踪
运维·yolo·自动化
学Linux的语莫16 分钟前
Ansible使用简介和基础使用
linux·运维·服务器·nginx·云计算·ansible
qq_3129201125 分钟前
docker 部署 kvm 图形化管理工具 WebVirtMgr
运维·docker·容器
踏雪Vernon26 分钟前
[OpenHarmony5.0][Docker][环境]OpenHarmony5.0 Docker编译环境镜像下载以及使用方式
linux·docker·容器·harmonyos
Onlooker12926 分钟前
云服务器部署WebSocket项目
服务器
学Linux的语莫39 分钟前
搭建服务器VPN,Linux客户端连接WireGuard,Windows客户端连接WireGuard
linux·运维·服务器
legend_jz43 分钟前
【Linux】线程控制
linux·服务器·开发语言·c++·笔记·学习·学习方法
Komorebi.py1 小时前
【Linux】-学习笔记04
linux·笔记·学习
黑牛先生1 小时前
【Linux】进程-PCB
linux·运维·服务器
Karoku0661 小时前
【企业级分布式系统】ELK优化
运维·服务器·数据库·elk·elasticsearch