Linux 使用用户级别的 systemd 服务

目录

使用用户级别的 systemd 服务

可以创建一个用户级别的 systemd 服务来实现开机启动。这种方式更加灵活和规范,适用于需要长期运行的服务或后台任务。

  • 创建一个 .service 文件,通常放置在 ~/.config/systemd/user/ 目录下,例如 ~/.config/systemd/user/my_service.service。
  • 编辑 .service 文件,定义服务的启动命令、工作目录等信息。
  • 使用 systemctl --user 命令启用、停止、启动或重启服务。加粗样式

示例 .service 文件内容

sh 复制代码
[Unit]
Description=My Service
After=network.target

[Service]
ExecStart=/path/to/my_command
Restart=always

[Install]
WantedBy=default.target

这个文件是一个 systemd 单元文件,用于定义一个 systemd 服务。下面解释每个部分的含义:

1、Unit:这个部分包含了单元的基本信息。

  • Description=My Service:描述了这个单元的简要说明,即服务的名称或描述。

  • After=network.target:指定了这个单元应该在哪些其他单元之后启动。这里指定在网络服务启动之后启动该服务。

    1、Service:这个部分定义了服务的执行方式。

  • ExecStart=/path/to/my_command:指定了服务启动时执行的命令或程序的路径。/path/to/my_command 应该替换为实际的命令或程序路径。

  • Restart=always:定义了服务的重启策略,这里设置为总是重启,在服务异常退出时会自动重新启动。

    1、Install:这个部分定义了如何安装这个单元。

  • WantedBy=default.target:指定了这个单元应该被哪个系统目标(target)所依赖以启动。这里设置为 default.target,表示当系统进入默认目标时,应该启动该服务。

    这些配置项的具体含义可以参考 systemd 单元文件的文档和手册。

然后执行以下命令使服务生效:

sh 复制代码
systemctl --user enable my_service.service
systemctl --user start my_service.service

无论选择哪种方式,都要确保命令的执行权限正确,并且谨慎操作,以免影响系统稳定性。


完结 学海无涯 保持敬畏之心 小心甚微 如摄大川。

相关推荐
极客先躯34 分钟前
高级java每日一道面试题-2026年02月01日-实战篇[Docker]-Docker Volume 的生命周期管理是怎样的?
java·运维·docker·容器·持久化·架构图·容器卷
Java面试题总结1 小时前
Linux-Ubantu-贴士-apt的地盘
linux·运维·服务器
●VON1 小时前
AtomGit Flutter鸿蒙客户端:数据模型
android·服务器·安全·flutter·harmonyos·鸿蒙
志栋智能1 小时前
超自动化巡检:提升MTTR,缩短业务影响时间
运维·自动化
酉鬼女又兒1 小时前
零基础入门计算机网络:网络层核心任务、三大关键问题、两种服务类型与 TCP/IP 网际层协议体系全解析
服务器·网络·网络协议·tcp/ip·计算机网络·php·求职招聘
kong@react2 小时前
Rocky Linux 10.2 全面解析:企业级 CentOS 替代方案及保姆级docker安装
java·linux·运维·docker
Gauss松鼠会2 小时前
【GaussDB】GaussDB重要通信参数汇总
服务器·网络·数据库·sql·性能优化·gaussdb·经验总结
凡人叶枫2 小时前
Effective C++ 条款07:为多态基类声明 virtual 析构函数
linux·c语言·开发语言·c++
睡不醒男孩0308232 小时前
第八篇:如何构建一站式 PostgreSQL 性能优化与智能管控平台?从盲目排查到 CLup 自动化运维演进
运维·postgresql·性能优化
凡人叶枫2 小时前
Effective C++ 条款10:令 operator= 返回一个 reference to *this
java·linux·服务器·开发语言·c++·effective c++