Linux系统使用服务实现开机自启动

Linux系统使用服务实现开机自启动

众所周知,有的应用程序需要再开机时自启动,如服务器的ssh等,在linux系统上可以通过服务来实现。

systemd 单元配置文件

~/.config/systemd/user/ 和 /etc/systemd/system/ 是两个重要的目录,用于存放 systemd 单元配置文件,它们分别用于用户级别和系统级别的服务管理。

1. ~/.config/systemd/user/
这个目录用于存放用户级别的 systemd 单元配置文件。用户级别的服务一般用于当前用户的特定需求,与整个系统的运行无关。
例子:
~/.config/systemd/user/example.service: 用户级别的服务单元配置文件。

2. /etc/systemd/system/
这个目录则是用于存放系统级别的 systemd 单元配置文件,系统级别的服务可以对整个系统进行配置,对所有用户都生效。
例子:
/etc/systemd/system/nginx.service: 系统级别的 Nginx 服务单元配置文件。
/etc/systemd/system/ssh.service: 系统级别的 SSH 服务单元配置文件。

区别与使用场景
用户级别服务:存放在 ~/.config/systemd/user/ 目录下,适用于只针对当前用户有效的服务配置。比如,个人使用的特定定时任务或后台服务。
系统级别服务:存放在 /etc/systemd/system/ 目录下,适用于整个系统的服务配置。比如,网络服务、数据库服务等。
使用方法:
创建新的服务单元:可以在相应目录下创建新的 .service 文件,并按照 systemd 单元的规范进行配置。
启用和管理服务:使用 systemctl 命令来启用、停止、重启和管理服务。比如,systemctl enable example.service 可以启用服务,使其在系统启动时自动运行。

流程

[1]. cd 到单元配置文件的路径中( ~/.config/systemd/user/或/etc/systemd/system/)

[2]. 创建如下格式的文件(myservice.service)

[Unit]
Description=My Program

[Service]
ExecStart=/path/to/myprogram

[Install]
WantedBy=default.target

其中:My Program改为该服务需要的描述;/path/to/myprogram改为自己的应用程序路径;default.target代表了系统启动时默认加载的目标,这一项可以改为如下表所示的target。

目标(Target)含义
poweroff.target用于关机。
rescue.target用于系统恢复。
multi-user.target多用户文本模式。加载多个用户所需的服务,不包括图形化用户界面。
graphical.target图形化用户界面。加载图形化用户界面所需的服务。
network.target网络服务。加载网络相关的服务,如网络配置、网络连接等。
default.target默认目标。通常链接到系统中的某个其他目标,指定系统启动时默认加载的目标。

[3] 重新加载systemd 单元配置文件(根据需要选择重新加载用户级别systemctl --user daemon-reload或者系统级别systemctl daemon-reload

[4] 启用服务(根据需要选择重新加载用户级别systemctl --user enable myservice.service或者系统级别systemctl enable myservice.service
[5] 如需立马生效则可手动启动服务(根据需要选择重新加载用户级别systemctl --user start myservice.service或者系统级别systemctl start myservice.service

注意

  1. 在服务中如果启动程序为sh脚本文件,sh脚本文件中需要在文件头写#!/bin/bash
  2. 可以通过systemctl status myservice.service查看服务状态
  • 42
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值