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

Linux系统创建自启动服务

一、 Systemd 服务目录

(1)传统/etc/init.d/内写入的是脚本文件,现代化的都是XXX.service 文件。

(2)个人写的子系统服务,建议放在/etc/systemd/system/目录下,

目录用途优先级
/etc/systemd/system/管理员自定义/覆盖服务最高
/run/systemd/system/运行时临时服务(重启丢失)中等
/lib/systemd/system/系统包安装的默认服务最低
~/.config/systemd/user/用户级,仅当前用户最低
/etc/init.d/系统级(传统方式)、传统脚本

二、文件写入内容

位置:/etc/systemd/system/MyTsk.service

Restart=on-failure:这样可以实现关闭程序,它又自己启动,也就是系统发现该进程关闭了,又会重新启动该进程。

kickpi@kickpi:/etc/systemd/system$ cat MyTsk.service [Unit] Description=My TSK Application Service # 依赖网络+图形界面启动完成再运行 After=network.target graphical.target # 强制要求图形目标,否则不启动 Requires=graphical.target [Service] Type=simple User=kickpi Group=kickpi WorkingDirectory=/home/kickpi Environment="LD_LIBRARY_PATH=/opt/prefix/lib" Environment="DISPLAY=:0" # 预等待缩短,超时拉长,避免卡死 #ExecStartPre=/bin/sleep 15 ExecStart=/bin/bash /home/kickpi/Run_app.sh #关闭后启动 Restart=on-failure RestartSec=10 TimeoutStartSec=90 StandardOutput=journal StandardError=journal [Install] # 关键:改为图形目标开机自启 WantedBy=graphical.target

/home/kickpi/Run_app.sh是个脚本文件,内容如下:

/home/kickpi/appTSK_SWZF是qt程序;cronolog 是每天创建日志的命令。

kickpi@kickpi:/etc/systemd/system$ cat -n /home/kickpi/Run_app.sh 1 #!/bin/bash 2 #sudo apt update 3 #sudo apt install -y cronolog 4 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/prefix/lib 5 /home/kickpi/appTSK_SWZF -platform xcb 2>&1 | cronolog /home/kickpi/tsk_all_file/runlog/tsk_%Y-%m-%d.log

三、服务命令

构建服务程序systemctl命令步骤:

1、修改XXX.service文件后执行 sudo systemctl daemon-reload // 重新加载 systemd(让系统识别新服务) sudo systemctl start myapp //重新加载启动服务 sudo systemctl status myapp //服务状态查看 sudo systemctl enable myapp //设置开机自启动 sudo systemctl is-enabled MyTsk /验证是否已启用 # 应该输出:enabled sudo systemctl status MyTsk # 查看服务状态 # Loaded 行应该显示:enabled 2、修改了 [Install] 部分执行,例如: 从 WantedBy=graphical.target 改为 WantedBy=multi-user.target sudo systemctl reenable MyTsk.service 3、重启进程执行 # 重置失败状态 sudo systemctl reset-failed MyTsk.service # 重新启动 sudo systemctl start MyTsk.service # 查看运行状态 sudo systemctl status MyTsk.service

其它命令如下:

sudo systemctl start 服务名 # 启动服务 sudo systemctl stop 服务名 # 停止服务 sudo systemctl restart 服务名 # 重启服务 sudo systemctl reload 服务名 # 重新加载配置(不中断服务) systemctl status 服务名 # 查看服务状态 systemctl is-active 服务名 # 查看服务是否运行中 sudo systemctl enable 服务名 # 启用开机自启动 sudo systemctl disable 服务名 # 禁用开机自启动 systemctl is-enabled 服务名 # 查看是否已启用开机自启动 systemctl list-unit-files --state=enabled # 查看所有已启用的服务 systemctl list-units --type=service # 查看所有正在运行的服务 systemctl list-units --type=service --all # 查看所有服务(包括未运行的) systemctl show --property=UserspaceTimestamp # 查看系统启动时间 systemctl get-default # 查看系统当前运行级别

四、加载地址查看

查看系统服务ssh 的加载地址是/etc/systemd/system/MyTsk.service:

Loaded: loaded (/etc/systemd/system/MyTsk.service; enabled; vendor preset: enabled)

这个是个qt图形界面程序,开机自启动正常运行了。

五、附录

上述可以实现开机自启动qt程序,但是它启动的时机是桌面显示成功后,再自启动qt程序。
说人话就是先显示桌面,然后启动预定的程序。

守护进程查看: kickpi@kickpi:~$ ls -l /proc/2433/fd/0 lr-x------ 1 kickpi kickpi 64 Jun 18 09:27 /proc/2433/fd/0 -> /dev/null kickpi@kickpi:~$ ps -o ppid= -p 2433 1 kickpi@kickpi:~$ ps -o sid= -p 2433 2433

解读:

  • 2433(bash 守护脚本)→ 子进程 2441(业务 appTSK_SWZF)、2442(cronolog 日志工具)
  • cronolog 负责接收业务程序 stdout/stderr,自动按日期切割落地日志到/home/kickpi/tsk_all_file/runlog/
http://www.gsyq.cn/news/1547542.html

相关文章:

  • 2026上新:大悟县除甲醛公司 6 大排名:双赛道实力榜,高温高湿环境专项测评 - 专注室内空气检测治理
  • 2026永康全屋定制避坑指南,选对不后悔
  • WarcraftHelper:解决魔兽争霸3五大经典问题的终极方案
  • 2026板式家具拆单服务商选型参考:晨丰软件及竞品适配解析 - 资讯快报
  • 新疆消防自来水管道测漏第一名|地埋管道漏水探测全疆无损查漏,真实工程测评口碑满分 - 天堂海洋
  • 重庆食品饮料企业做GEO应该怎么选服务商?2026本地靠谱GEO服务商推荐与行业选型参考 - 子柔传媒
  • 2026 佛山黄金回收榜单出炉,持证鉴定团队,私密回收服务领先同行 - 奢侈品回收测评
  • 合肥值得推荐的学月嫂机构 服务透明品牌汇总 - 资讯快报
  • 2026广州黄金回收避坑十策:60%人栽在隐形扣费、称重作假 - 奢侈品回收评测
  • 高颜值动态可视化:gganimate 制作时序动图与数据短视频
  • Adobe-GenP终极指南:3分钟快速激活Adobe全系列软件
  • 有哪些可上传视频投票的少儿英语比赛线上评选平台? - 微信投票小程序
  • 2026安阳焊缝探伤检测权威机构排行 TOP 本地高频选择,无损检测 + UT+RT+PT 检测 附电话地址 - 中安检测集团
  • 西湖区 2026 黄金回收避坑,不懂行情出手直接亏一半 - 逸程
  • 2026年医废处理设备厂家梳理:技术路线差异与选型参考 - 品研笔录
  • 2026年最佳网站建设工具Top4对比评测 - 比文云BBWEYY餐宝盈
  • 2026年过磅系统权威方案分析:不同需求下的选型路径 - 资讯快报
  • 2026全年天津离婚律所口碑测评!护稚多孩家庭离婚/抚养权纠纷/双胞胎离婚 - 资讯快报
  • 2026年云南电脑组装、IT运维、网络布线一站式服务商怎么选?学思电脑vs主流品牌深度横评 - 优质企业观察收录
  • 机器学习问题定义:从模糊需求到可建模目标的关键跃迁
  • 北京婚纱照推荐|2026 权威测评,薇拉摄影领衔高端婚拍品牌深度对比 - 商业观察
  • 2026苏州黄金回收门店盘点|正规实体店地址避坑指南实测 - 薛定谔的梨花猫
  • 设置单只个股最大持仓占比上限,程序自动校验仓位超标并给出调仓建议。
  • 联储信APP最新消息,本金减损清算工作开展。
  • Hotkey Detective深度解析:Windows热键冲突检测的技术实现与实战应用
  • PS怎么做电商详情页?Nano Banana一键生成淘宝高转化详情套图,美工效率翻倍
  • 硬核榜单|2026电磁流量计十大名牌深度测评与品牌价值分析
  • 星环科技数据血缘Agent,让数据的每一步流转都有迹可循
  • 实操指南:亚马逊申报不符被稽查怎么处理? - 企服靠谱君
  • 我花了半天时间,用Python开发了一个CLI爬虫智能体