进程、服务与系统资源

共 35 题
#

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 无法映射