树莓派学习笔记——Systemd进程启动

参考文档

init真相

  • stat /sbin/init

关于stat的这个命令解释参考:https://blog.csdn.net/yexiangcsdn/article/details/81012732

Systemd应用原理

在sysvinit中有明确定义的运行级别(如:0、1、3、5、6)与systemd中特定的 目标 存在一一对应的关系。然而,对于用户自定义运行级别(2、4)却没有。如需要同样功能,建议你以原有运行级别所对应的systemd目标为基础,新建一个/etc/systemd/system/<目标名>.target(可参考/usr/lib/systemd/system/graphical.target), 然后创建目录/etc/systemd/system/<目标名>.wants,并向其中加入需启用的服务链接(指向/ur/lib/systemd/system/)。

"SysV 运行级别" 与 "systemd 目标" 对照表

SysV 运行级别Systemd 目标注释
0 runlevel0.target, poweroff.target 中断系统(halt)
1, s, single runlevel1.target, rescue.target 单用户模式
2, 4 runlevel2.target, runlevel4.target, multi-user.target 用户自定义运行级别,通常识别为级别3。
3 runlevel3.target, multi-user.target 多用户,无图形界面。用户可以通过终端或网络登录。
5 runlevel5.target, graphical.target 多用户,图形界面。继承级别3的服务,并启动图形界面服务。
6 runlevel6.target, reboot.target 重启
emergency emergency.target 急救模式(Emergency shell)
  • systemctl get-default

  • cd /etc/systemd
  • find * -iname default.target

  •  ls -al system/default.target

  •  cat /lib/systemd/system/graphical.target

rc.local启动分析

  •  systemctl status rc.local

 

Wifi配置启动分析

  • cat /etc/systemd/system/multi-user.target.wants/raspberrypi-net-mods.service

SSH开启设置分析

  • cat /etc/systemd/system/multi-user.target.wants/sshswitch.service

 

文章参考:https://gitee.com/low-level-of-logic/RaspberryPi/blob/master/docs/0007_Systemd%E8%BF%9B%E7%A8%8B%E5%90%AF%E5%8A%A8.md

ps:systemctl命令

原文地址:https://www.cnblogs.com/young-dalong/p/15236593.html