我想像在普通终端上一样附加和控制 systemd 服务,这是因为我作为服务运行的进程有一个输入控制台,我希望能够访问它。我看到其他解决方案使用 systemd 配置将进程的 stdin/stdout 重定向到 tty,然后使用 conspy 或 reptyr 等工具附加,但这些解决方案无法通过 SSH 连接运行。我有什么办法可以做到这一点吗?
答案1
如果你这样做,man systemctl
你会发现这个选项:
-H, --host=
Execute the operation remotely. Specify a hostname, or a username and
hostname separated by "@", to connect to. The hostname may optionally
be suffixed by a container name, separated by ":", which connects
directly to a specific container on the specified host. This will use
SSH to talk to the remote machine manager instance. Container names
may be enumerated with machinectl -H HOST.
这将允许您在本地计算机上对远程计算机上的服务执行任何操作(允许您以具有提升权限的用户身份执行此操作)。