预览或调试(试运行或跟踪)systemctl 操作(启动、停止、重启等)

预览或调试(试运行或跟踪)systemctl 操作(启动、停止、重启等)

无需手动跟踪依赖关系(例如使用systemctl show或) ,也无需使用和systemctl cat手动检查系统状态,有没有办法预览会做什么?systemctl statussystemctl list-unitssystemctl stop|start|restart

如果失败了,事后有没有办法显示哪些作业已排队以及原因?

无论哪种情况,我希望看到的跟踪类型是这样的:

starting X due to user request
adding Y to the transaction because it is required by X
adding Z1, Z2, Z3 because they are wanted by Y

PS:该--dry-run选项仅在比我拥有的 systemd 更高版本中可用,并且有记录仅支持某些特定操作与我的用例不相关

答案1

视情况而定:如果其他单元不依赖您的单元,您可以用仅打印或记录其参数的虚拟命令替换您的单元执行的实际命令。但是对于类似守护进程的进程来说,这会有点棘手,因为它们不应该终止。

由于某些单元只有在其他单元实际启动时才能工作,因此模拟总是受到限制。

相关内容