Home
little Joy Personal
Cancel

systemd 基本命令的使用

systemd有强大的并行能力,可以使用socket或D-Bus激活服务,多种按需要启动服务,使用cgroups技术跟踪进程, 支持系统状态的快照和恢复,引导时自动挂载挂载点,基于事务依赖的控制逻辑。其主要架构图: units systemd 中管理所谓的 units , 它们可以指代系统资源或服务。其类型可以包括: service 系统服务,可以启动,停止,重启等 ...

Login Shell and Interactive Shell

Shell是一个命令解释器程序,它读取并解释用户发出的命令。shell可以执行基本命令,如运行程序、输入文本和打印输出。它还负责处理错误和其他需要用户干预的情况。 shell可用于自动化现有任务或完全创建新任务。shell为系统中的许多工具提供了一个公共接口。例如,如果shell需要执行一个需要系统命令的操作, 它将搜索该命令(通过PATH环境变量),然后为用户执行该命令。 Shell具有...

systemd socket

可以让 systemd 监听套接字,在有连接时再启动服务,systemd中主要是使用本地socket(AF_UNIX),网络socket也支持(AF_INET), 这是从inetd学习过来的,主要特点是增加并行性(套接字激活允许同时启动套接字的客户端和服务器)、 简单性(因为不需要配置服务之间的显式依赖关系)和健壮性(因为服务可以重新启动或可能崩溃,而不会失去套接字的连通性)。 socke...

systemd 模板化服务

服务模板 Linux/Unix上的大多数服务都是单例服务:在一个特定的系统上,通常只有一个Syslog、Postfix或Apache实例同时运行。 但是有些服务会运行多个,常见的getty@.service,会为每个终端都运行一个,以显示登录提示,通常在tty1-tty6上运行。 还有常见的 systemd-fsck@.service,它是一个文件系统检查器,为每个需要检查的块设备实例化一...

systemd 新的配置文件

systemd 的强大特性之一是,它提供了一套完整的启动初期(early-boot)模块化服务,这些服务是用高效且并行的C语言实现, 取代了之前的各种基于shell脚本实现的。这些启动早期服务包括: Checking and mounting of all file systems Updating and enabling quota on all file systems ...

systemd 系统引导性能分析

systemd中,提供了系统引导的性能分析工具,可以查看系统的引导时间,可以具体到每个服务。 查看系统引导的整体时间 # systemd-analyze time Startup finished in 11min 4.279s (firmware) + 11.015s (loader) + 5.800s (kernel) + 14.109s (userspace) = 11min 35....

systemd 对chroot的支持和替代

小结 安全的使用chroot的最好方式是在c代码中本地完成 ReadOnlyDirectories=, InaccessibleDirectories= 应该是chroot环境的合适替代方案 如果必须要对一个服务chroot,可以使用 RootDirectory= 选项 新的操作系统镜像的制作调试可以使用systemd-nspawn工具代替chroot,它更安全方便,且能...

systemd 服务的自启动和屏蔽

服务的进一步管理,以ntpd daemon为例。 ntpd进程:(Network Time Protocol daemon),ntpd 是一个操作系统Daemon进程,用于校正本地系统与Internet标准时钟源之间的时间。 stop service 使用systemctl stop可以简单的停止服务,即关闭运行中的守护进程。它不会做其他事情,服务仍可以被其他方式激活。如手动激...

systemd 关闭服务

Kill Services 如何杀死一个守护进程? 如果守护进程(一套服务)只存在一个单一的进程中,则直接对其发送信号即可。使用 kill 或 killall 命令。 killall是根据进程名发送信号,所有相同名称的进程都会收到。 如果守护程序创建了pid文件,那么规范一些的操作应当是根据pid文件中的pid号去发信号。pid文件一般在 /var/run/*.pid, 如/var/r...

systemd 服务编写基础

Convert A SysV Init Script Into A systemd Service File 传统的Unix/Linux服务(守护进程)是通过SysV初始化脚本启动的。这些是Bourne Shell脚本,通常放在 /etc/rc.d/init.d/ 这样的目录中。 配合使用一些标准参数,如start, stop或restart等控制,实现启动,停止或重新启动有关的服务。 ...