mc истекает время ожидания ответа от bash
(оболочки, которую он разветвляет для командной строки в нижней части экрана). Вы можете узнать время ожидания, прокручивая отметки времени. Согласно man select
, рассматриваемый системный вызов ожидает ввода в указанные файловые дескрипторы. В успешной трассировке FD 7 создается ранее pipe ()
- это конвейер для дочернего процесса. В успешном случае я обнаружил, что приглашение bash jon @ sonic: ~ $
успешно считывается из канала. Не помню, как я нашел это последнее, извините.
Поиск execv
подтверждает, что pid записывает jon @ sonic: ~ $
- это bash
. Затем я случайно заметил, что где-то в случае сбоя запускается tmux
. Я сомневаюсь, что mc
любит запускать tmux
как оболочку!
У вас должен быть какой-то сценарий запуска bash, который запускает tmux
. Он избегает запуска, если он уже находится внутри tmux
. Итак, mc
внутри tmux
в порядке, но не снаружи.
Я бы обязательно запустил tmux
из сценария входа в систему , а не из сценариев, которые выполняются для суб-оболочек bash. Это означает .bash_profile
, а не .bashrc
. Здесь есть некоторая информация об этом, которая соответствует моему мнению: https://apple.stackexchange.com/questions/71929/how-to-change-mc-midnight-command-bash-prompt-on-os-x