Предотвратите автоматическое терминальное закрытие / неработающий процесс в ZSH

Существует ли какой-либо способ убедиться, что zsh не выходит, когда администраторы кластера автоматически убивают все простаивающие процессы после некоторого довольно короткого промежутка времени?

Я уже понял, как сделать это с tmux, но мои сеансы zsh продолжают умирать, и администраторы не сдвинутся с места в политике. Я всегда могу оставить тупой в то время как цикл собирается, но это действительно утомительно делать в начале каждой сессии zsh, но это очень неприятно, чтобы вернуться и обнаружить, что мой процесс вышел, но я понятия не имею, почему, потому что оболочка, которая размещала его, была убита, и история вывода ушла.

Я использую oh-my-zsh, поэтому, если есть модуль, который может это сделать, это тоже было бы здорово.

1 ответ

  1. Я просто добавил простой скрипт к моему .zshrc. Это неэлегантное решение, но оно работает.

    if [[ "$HOSTNAME" =~ "^myhost*" ]]; then
        while true; do echo 'hi' > /dev/null; sleep 120; done &
    

    Я уверен, что есть лучший способ, потому что это делает запуск оболочки медленнее, чем я хотел бы, но это то, что я придумал на данный момент.