linux的服务管理

systemd

systemd 是一个系统和服务管理器,用于Linux操作系统中,旨在替代传统的Unix系统V初始化系统(SysV init)。

不一定所有使用 yum 安装的软件都可以通过 systemctl start 来管理。能否通过 systemctl start 管理取决于软件包是否提供了相应的 systemd 单元文件。

如果软件没有提供 systemd 单元文件

如果软件包没有提供 systemd 单元文件,但你希望通过 systemctl 来管理它,可以手动创建一个 systemd 单元文件。以下是创建自定义服务单元文件的步骤:

csharp 复制代码
创建服务单元文件:
在 /etc/systemd/system/ 目录中创建一个新的服务单元文件。
例如,为了管理一个名为 myapp 的软件,可以创建 /etc/systemd/system/myapp.service 文件。
sudo nano /etc/systemd/system/myapp.service
编辑服务单元文件:
在文件中添加以下内容,根据具体的软件路径和启动命令进行修改。


[Unit]
Description=My Application Service
After=network.target

[Service]
ExecStart=/usr/bin/myapp
Restart=on-failure
User=myuser
Group=mygroup

[Install]
WantedBy=multi-user.target



Description:服务的描述。
After:指定服务的启动顺序。
ExecStart:启动服务的命令。
Restart:指定服务失败时的重启策略。
User 和 Group:运行服务的用户和组(可选)。
WantedBy:指定服务的目标运行级别。
加载新服务单元文件:
sudo systemctl daemon-reload
启动和启用服务:
sudo systemctl start myapp
sudo systemctl enable myapp

systemctl

systemctl 是管理和控制 systemd 的主要命令行工具。它提供了启动、停止、重启服务,查看服务状态,启用和禁用服务开机自启动等功能。

查看服务状态:

systemctl status <service_name>

启动服务:

sudo systemctl start <service_name>

停止服务:

sudo systemctl stop <service_name>

重启服务:

sudo systemctl restart <service_name>

相关推荐
雯宝2 小时前
mnt_init 函数
linux
律宏阔8 小时前
WSL Docker 端口明明空闲,但就是绑不上端口
linux·windows
律宏阔8 小时前
WSL 突然断网,无法 ping 内网或外网
linux·windows
穷人小水滴8 小时前
用容器编译 VirtualBox 虚拟机软件 (ArchLinux, podman)
linux·容器·virtualbox
乱码三千8 小时前
如何优雅地直连无公网 IP 的远程 GPU 服务器
linux·人工智能·程序员
yunwei378 小时前
使用 eBPF 跟踪 Nginx 请求
linux·后端·性能优化
yunwei378 小时前
使用 eBPF 跟踪 MySQL 查询
linux·后端·性能优化
yunwei378 小时前
eBPF 示例教程:使用 XDP 捕获 TCP 信息
linux·后端·性能优化
judezh8 小时前
api 容器一直 unhealthy?我把一个 Agent 运行时的健康检查逐条拆了,查出四个问题
运维·docker
GeW8 小时前
制造业高端化,为什么必须重估Linux和数据库?
linux