systemd 有进程的信息,能控制 它启动的进程。
为管理启动的单元,systemd 使用了cgroups,一个Linux 内核的特性,用来 跟踪进程树形结构。cgroup 也简化了单元文件。服务单元文件中的 type 属性,指出了 启动行为。有两种 行为:
simple:这种服务进程 不会产生 新的服务进程,也不会终止;它一直 保持 那个主 服务进程。
fork: 会产生 新的进程,以前那个会 死掉。在终止的时候,服务 会就绪。
type=simple 没有 考虑 启动完成 需要的时间,所以 依赖 这个服务的 单元 就不知道 何时可以启动。处理这个问题 可以使用 延迟 启动,或者 有些 Type 类型 会让服务 告诉 systemd :它已经启动完毕。
type=notify 当启动完毕,服务会 发一个通知 给 systemd
type=dbus 当启动完毕,服务会 把自己注册到 dbus。
Type=oneshot 服务在启动后 完全终止,并且没有子进程。直到这个服务终止,systemd 才会 认为 这个服务 被启动了。
Type=idle 就是等其他服务启动完了,该服务才启动。
Linux- Systemd 对进程 跟踪和同步
最新推荐文章于 2024-01-08 11:47:13 发布