摘要:我试图弄清楚为什么我的 tmux 会话在我与 ssh 断开连接时会死掉
详情:
我在 Arch Linux 系统上安装了 tmux。当我开始一个 tmux 会话时,我可以从它分离,然后在 ssh 会话处于活动状态时再次附加。但是如果我结束我的 ssh 会话,那么 tmux 会话就会被杀死。
我知道这不是正常行为,因为我有其他系统,即使 ssh 会话结束,tmux 会话也会继续运行,并且我可以在建立新的 ssh 连接后附加到 tmux 会话。有问题的系统和正常工作的系统具有非常相似的配置,所以我不确定要检查什么。
我正在运行 tmux 1.9a 版。有问题的系统(我有 root 访问权限)的 Linux 内核版本为 3.17.4-1,而正常工作的系统的内核版本为 3.16.4-1-ARCH(我没有 root 权限)系统)。我怀疑内核版本是问题的根源,但这只是我注意到的一个差异。
我想我会问是否有人见过类似的问题并知道可能的解决方案。
导致问题的确切步骤是:
tmux以启动 tmuxctrl-B D 分离(此时我可以重新连接 tmux attachtmux attach,我收到消息no sessions并运行tmux ls返回failed to connect to server: Connection refused …在 Docker 文档中讨论了本机 execdriver ( https://docs.docker.com/engine/reference/commandline/daemon/ )的选项。文档说
native.cgroupdriver 选项指定容器的 cgroup 的管理。您可以指定 cgroupfs 或 systemd。如果指定 systemd 并且它不可用,则系统使用 cgroupfs。默认情况下,如果没有指定选项,execdriver 首先尝试 systemd 并回退到 cgroupfs。此示例将 execdriver 设置为 cgroupfs:
我的问题是在这种情况下cgroupfs它是什么以及它如何比较systemd?谷歌搜索信息cgroupfs导致了一条推文:
--exec-opt native.cgroupdriver=cgroupfs FTW。认真的@docker,放弃对由 systemd 管理的 cgroup 的支持,这是一场灾难
但我希望有人可以提供更多关于它实际作用的详细信息,而不是仅仅说使用与默认设置不同的设置。
单位命令
list-unit [PATTERN...] 列出已知单位(受 -t 指定的限制)。如果指定了一个或多个 PATTERN,则仅显示与其中之一匹配的单元。
这是默认命令。
我的问题是它是什么意思[PATTERN]。
当我执行时,systemctl list-units我得到相对较长的加载单元列表。但是如果我添加第三个参数,我会收到一条错误消息Too many arguments. 所以我很好奇哪些参数[PATTERN]对手册页中列出的参数有效。
(我正在运行 Arch Linux 并拥有 227 版的 systemd)