Почему мой второй сеанс tmux не показан в ps aux или htop, но в tmux list-session это?

Я запускаю два новых сеанса tmux , имя сеанса переменно создается из метки времени. (команды создают новый, отсоединенный сеанс tmux, который сначала изменяет каталог, перечисляет контент и затем открывает bash, чтобы сохранить сеанс открытым)

  tmux new -d -s tmux-s1-2014-12-04-16-12-12-103728 'cd /home/user/dir/ect/; ls; bash' tmux new -d -s tmux-s2-2014-12-04-16-12-12-103728 'cd /home/user/dir/ory/; ls; bash' 

Теперь, если мне htop или ps aux чтобы увидеть, все ли они работают, я всегда нахожу один из них. (например, ps aux | grep tmux )

 user 13556 0.0 0.0 26288 1716 ? Ss 16:12 0:00 tmux new -d -s tmux-s1-2014-12-04-16-12-12-103728 cd /home/user/dir/ect/; ls; bash user 13686 0.0 0.0 8072 864 pts/1 S+ 16:14 0:00 grep tmux 

Тем не менее, когда я использую tmux list-sessions оба перечислены:

 tmux-s1-2014-12-04-16-12-12-103728: 1 windows (created Thu Dec 4 16:12:20 2014) [80x23] tmux-s2-2014-12-04-16-12-12-103728: 1 windows (created Thu Dec 4 16:12:20 2014) [80x23] 

редактировать:

Я теперь немного тестировал и, насколько я понимаю, отдельные сеансы невидимы для htop / ps .. из-за причин. Первый установленный сеанс будет виден, даже если он отсоединен.

Я создал три сеанса, все с bash и отключили первую и вторую сессию. Третья сессия по-прежнему прилагается. Вот вывод htop при фильтрации для tmux .

  PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command 17382 user 20 0 26296 1808 1176 S 5.0 0.1 0:00.86 ├─ tmux new -s first_session 17641 user 20 0 17552 1164 908 S 0.0 0.0 0:00.00 │ │ └─ tmux attach -t third_session 

В то время как tmux list-sessions покажет все три:

 first_session: 1 windows (created Fri Dec 5 10:35:11 2014) [80x23] second_session: 1 windows (created Fri Dec 5 10:35:23 2014) [80x23] third_session: 1 windows (created Fri Dec 5 10:35:37 2014) [80x23] (attached) 

Вопрос все тот же. Почему htop или ps aux не могут перечислить все отсоединенные и присоединенные сеансы?

One Solution collect form web for “Почему мой второй сеанс tmux не показан в ps aux или htop, но в tmux list-session это?”

По умолчанию Tmux будет запускать только один серверный процесс для каждого пользователя, и этот процесс сервера может иметь несколько сеансов. Клиент Tmux и сервер обмениваются данными через сокет домена Unix в каталоге / tmp. Опцию -L можно использовать для указания другого сокета; для каждого сокета создается новый сервер.

Источник: http://hyperpolyglot.org/multiplexers

Сеансы tmux не отображаются ps или htop потому что они не являются процессами. Как вы обнаружили, единственный процесс сервера tmux, в котором размещаются все сеансы для вашего пользователя, отображается вместе с любыми клиентскими процессами tmux, которые могут быть прикреплены к вашим сеансам. То, что вы увидите в списке процессов, – это любые оболочки и другие дочерние процессы, которые вы вызывали в панелях и окнах ваших сеансов tmux.

Проверьте этот частичный вывод pstree -ap с Linux-машины, где я запускаю tmux:

  |-sshd,3406 | |-sshd,18196 | `-sshd,18201 | `-bash,18202 | `-tmux,18297 att |-tmux,10496 new-session -s main | |-bash,10497 | | `-ssh,10584 otherhost.mydomain.local | |-bash,17650 | `-bash,18303 | |-less,18390 | `-pstree,18389 -ap | `-bash,18487 | `-cat,18573 - this-is-in-another-session 

Вы можете увидеть мой процесс сервера tmux (10496). Первый сеанс, который я создал, имеет 3 панели (все запущенные bash ). Один из них – ssh'd to otherhost. Другой сидит за подсказкой, поэтому детей нет. И третий показывает вывод pstree less . Вы также можете увидеть мой клиентский процесс tmux (18297).

Эти 3 панели включены в один сеанс.

У меня есть еще одна сессия с одной панелью запуска bash и процессом cat вы видите. Это отсоединено, но все еще является дочерним элементом одного процесса сервера tmux.

  • Убейте сеанс tmux и выберите другой сеанс tmux
  • Возможно ли запустить экземпляр сервера клиентов Vim через SSH + tmux
  • Промежуточные пробелы при копировании с консоли
  • Как я могу переслать уже пересылаемый ssh-ключ в tmux?
  • tmux, как связать ключ для входа в режим VI и искать назад?
  • Tmux создать окно, если оно еще не существует
  • Как предотвратить использование ярлыка системы для применения к tmux?
  • Создание сеанса tmux без привязки к нему
  • Как автоматически загружать tmux при входе в систему, но нет, если уже внутри tmux?
  • поддержка tmux, TERM и 256 цветов
  • xinitrc: запуск xterm с помощью tmux заставляет все окна использовать одну и ту же геометрию
  • Linux и Unix - лучшая ОС в мире.