# 1. Linux 进程状态 R、S、D、Z、T 的含义及典型场景 A D 状态可被信号中断 B T 是运行态 C Z 状态占大量资源 D R 运行、S 可中断等待、D 不可中断 IO 等待、Z 僵尸、T 停止,D/Z 多需排查 ✓ 正确答案
# 2. systemctl daemon-reload 与 daemon-reexec 的差异 A daemon-reload 重载 unit 配置不影响服务,daemon-reexec 重启 systemd 进程本身 ✓ 正确答案 B 两者都重启服务 C daemon-reload 重启 systemd D daemon-reexec 只重载配置
# 3. systemd unit 文件中 ExecStart、ExecReload、ExecStop 的语义 A ExecStart 是可选 B ExecStop 默认杀子进程 C ExecReload 重启服务 D ExecStart 主进程、ExecReload 热重载、ExecStop 停止钩子,管服务启动/重载/停止 ✓ 正确答案
# 4. systemd unit 的 WantedBy 与 RequiredBy 在 enable 时的差异 A 两者都是强依赖 B WantedBy 弱依赖(.wants)失败不影响 target,RequiredBy 强依赖(.requires)失败拖垮 target ✓ 正确答案 C WantedBy 会拖垮 target D RequiredBy 是弱依赖
# 5. systemd unit 的依赖 After、Before、Wants、Requires 的真实语义 A After 保证依赖成功 B Requires 只管顺序 C Wants 失败会拖垮本单元 D After/Before 管顺序,Wants 温柔依赖、Requires 硬依赖,常组合 After+Requires 实现先启动且必须成功 ✓ 正确答案
# 6. systemd unit 类型 service、socket、target、timer 的差异 A service 是定时任务 B timer 是 socket C target 是进程 D service 运行服务、socket 监听激活、target 分组、timer 定时,可组合使用 ✓ 正确答案
# 7. systemd 中的 slice、scope、cgroup 关系 A slice 是进程状态 B service 是分组 C cgroup 与资源无关 D slice 是 cgroup 分组、scope 外部进程组、service 服务进程组,资源配额按 cgroup 层级继承 ✓ 正确答案
# 8. systemd 的 CPUQuota、MemoryHigh、MemoryMax 在资源控制上的语义 A MemoryHigh 超限立即 OOM B CPUQuota 硬性 CPU 上限、MemoryHigh 软性内存上限(压力回收)、MemoryMax 硬性上限(OOM) ✓ 正确答案 C CPUQuota 是相对权重 D MemoryMax 超限只回收
# 9. systemd 的 Environment 与 EnvironmentFile 在配置注入的差异 A 两者完全相同 B Environment 内联静态,EnvironmentFile 外部文件可独立修改、便于配置解耦与管理 ✓ 正确答案 C EnvironmentFile 无法读文件 D Environment 动态读取
# 10. systemd 的 FailureAction 与 OnFailure 在失败自愈的差异 A 两者都执行系统动作 B FailureAction 触发通知 C OnFailure 启动另一 unit 处理/通知,FailureAction 执行系统级动作(reboot),力度不同 ✓ 正确答案 D OnFailure 重启系统
# 11. systemd 的 PrivateTmp、PrivateDevices、PrivateNetwork 的隔离边界 A PrivateNetwork 隔离临时目录 B 三者隔离磁盘 C PrivateDevices 隔离网络 D PrivateTmp 隔离临时目录、PrivateDevices 隔离设备、PrivateNetwork 隔离网络,实现最小权限 ✓ 正确答案
# 12. systemd 的 ProtectSystem、ProtectHome 在加固容器化进程的边界 A 二者不提供隔离 B ProtectSystem 隔离网络 C ProtectHome 只读系统 D ProtectSystem 只读系统目录、ProtectHome 隔离家目录,配合 ReadWritePaths 开放写路径 ✓ 正确答案
# 13. systemd 的 Restart 与 RestartSec 的反直觉组合 A stop 不触发 Restart,RestartSec 设退避,StartLimit 限重启次数防风暴 ✓ 正确答案 B Restart=always 在 stop 时也重启 C RestartSec=0 最安全 D on-failure 对 exit 0 也重启
# 14. systemd 的 SystemCallFilter 与 seccomp 的关系 A seccomp 是 systemd 功能 B SystemCallFilter 依赖网络 C SystemCallFilter 是 seccomp 的上层封装,过滤系统调用实现沙箱 ✓ 正确答案 D SystemCallFilter 不限制 syscall
# 15. systemd 的 Type=notify 与 Type=simple 的差异 A simple 等待就绪 B simple 立即启动、notify 等服务 sd_notify 就绪通知,需就绪确认用 notify ✓ 正确答案 C notify 无需服务配合 D 两者都等待就绪
# 16. systemd 的 journal 在日志持久化与非持久化的差异 A 持久化存 /var/log/journal 重启保留,非持久化存内存重启丢失,生产应持久化并限容 ✓ 正确答案 B journal 默认持久化 C 非持久化防审计 D 持久化不占磁盘
# 17. 僵尸进程为何无法被 kill -9 清除,需如何处理 A kill -9 能清除僵尸 B 僵尸占大量内存 C 僵尸已死无法被 kill,需父进程 wait() 回收或父进程退出后由 init 收养 ✓ 正确答案 D 僵尸进程仍在运行
# 18. Linux 中 nohup、disown、setsid 让进程脱离终端的差异 A 三者机制相同 B nohup 忽略 SIGHUP、disown 移出 shell 作业表、setsid 新会话脱离终端 ✓ 正确答案 C nohup 脱离所有信号 D disown 创建新会话
# 19. journalctl --vacuum-size 与 --vacuum-time 在容量控制上的取舍 A vacuum-size 控留存时间 B 只能手动清理 C vacuum-time 控容量 D vacuum-size 控容量、vacuum-time 控留存时长,磁盘紧张用 size、合规留存用 time ✓ 正确答案
# 20. journald 的 ForwardToSyslog/MaxRetentionSec 与 rsyslog 转发链路的配置要点 A ForwardToSyslog 关闭转发 B MaxRetentionSec 用于转发 C ForwardToSyslog 转发到 rsyslog,MaxRetentionSec 控留存,rsyslog 写文件/转发远端,注意避免双写 ✓ 正确答案 D rsyslog 与 journald 无关
# 21. systemd unit 中如何配置 AppArmorProfile 并验证其生效? A 在 [Service] 段配置 AppArmorProfile,用 aa-status 或 /proc/pid/attr/current 验证生效 ✓ 正确答案 B 配置后无需验证 C AppArmor 无需内核 D profile 不存在也能加载
# 22. systemd 的 CPUWeight 与 CPUQuota 的差异 A CPUWeight 相对权重按比例分配、CPUQuota 绝对上限,限制最大占用用 CPUQuota ✓ 正确答案 B 两者都是绝对上限 C CPUWeight 有固定上限 D CPUQuota 是相对权重
# 23. systemd 的 ImportCredential、LoadCredential 如何为服务注入密钥? A LoadCredential 从文件加载、ImportCredential 从存储导入,挂载为只读凭据避免明文泄露 ✓ 正确答案 B 密钥应放环境变量 C 凭据可写 D 凭据会用 ps 泄露
# 24. systemd 的 MemoryDenyWriteExecute 如何实现 W^X? A 它允许 W+X 内存 B 它只限制网络 C 它用 seccomp 拦截 mmap/mprotect 阻止 W+X 映射实现 W^X,但会破坏 JIT 应用 ✓ 正确答案 D 对所有服务都安全
# 25. systemd 的 ReadOnlyPaths、InaccessiblePaths 如何实现只读挂载? A ReadOnlyPaths 只读、InaccessiblePaths 完全隐藏,通过绑定挂载实现文件系统加固 ✓ 正确答案 B ReadOnlyPaths 隐藏路径 C InaccessiblePaths 只读 D 两者都可写
# 26. systemd 的 RuntimeDirectory、StateDirectory、CacheDirectory 在状态隔离上的价值 A RuntimeDirectory 临时、StateDirectory 持久、CacheDirectory 缓存,systemd 自动创建管理权限实现隔离 ✓ 正确答案 B RuntimeDirectory 持久 C StateDirectory 临时 D 目录需服务手动建
# 27. systemd 的 WatchdogSec 如何实现服务看门狗健康检查? A 服务周期性 sd_notify 喂狗,超时未喂则重启,检测服务卡死而非仅崩溃 ✓ 正确答案 B 它检测 CPU 占用 C 无需服务配合 D 它只检测崩溃
# 28. systemd 的 path unit 与 timer unit 在自动化触发上的差异 A path unit 按文件变化触发、timer unit 按时间计划触发,分别替代事件驱动与 cron ✓ 正确答案 B 两者都按时间触发 C timer 按文件变化 D path 是定时任务
# 29. systemd 的 resolved 如何实现 DNS 解析? A resolved 是唯一 DNS B resolved 只做缓存 C resolved 无加密 D resolved 提供存根解析器、缓存、按域路由,resolvectl 管理 DNS 状态 ✓ 正确答案
# 30. systemd 的 sysusers.d 如何实现启动期创建系统用户? A sysusers.d 修改密码 B sysusers.d 在启动期创建系统用户/组,声明式管理,无需手动 useradd ✓ 正确答案 C sysusers.d 创建普通用户 D sysusers.d 需手动执行
# 31. systemd 的单元重启策略 on-failure 与 always 的差异 A always 只在失败时重启 B always 无条件重启(除 stop)、on-failure 仅失败时重启,常驻服务常用 on-failure ✓ 正确答案 C on-failure 无条件重启 D always 不重启崩溃
# 32. 孤儿进程由 PID 1(systemd)收养的机制,以及 systemd 对子进程回收(Reaper)责任与僵尸进程清理的关系 A 孤儿由自身父进程带走 B systemd 不回收孤儿 C 孤儿 PPID 变为 1 由 systemd 收养,systemd 作为 subreaper 负责回收其僵尸,但父进程存活的僵尸需父进程回收 ✓ 正确答案 D 僵尸永远无法清理
# 33. systemd unit 中 SELinuxContext 如何为服务配置 SELinux 上下文? A SELinuxContext 无需策略 B SELinuxContext 关闭 SELinux C SELinuxContext 设置服务进程的 SELinux 标签,用 ps -eZ 验证,需策略匹配 ✓ 正确答案 D SELinuxContext 是可选标签
# 34. systemd 的 TasksMax 如何限制服务的最大任务数? A TasksMax 限制内存 B TasksMax 无意义 C TasksMax 限制 fd D TasksMax 通过 pids cgroup 限制服务进程/线程总数,超限 fork 失败,防线程泄漏 ✓ 正确答案
# 35. systemd 的 UserNamespace 如何实现非 root 容器的用户映射? A UserNamespace 提升容器内权限 B UserNamespace 把容器内 UID 映射到宿主非 root,实现非 root 容器 ✓ 正确答案 C UserNamespace 只映射网络 D UserNamespace 无法映射