Итак, после некоторого гугления я нашел два решения:
https://serverfault.com/questions/323289/replacing-tty-with-a-script-in-centos-6
и
https://www.centos.org/forums/viewtopic.php?t=2414
В итоге я пришел к следующему:
1) Создайте '/etc/init/launch. conf" с таким содержанием:
start on stopped rc RUNLEVEL=[2345]
stop on runlevel [S016]
respawn
console owner
exec /usr/bin/openvt -c 1 -w -f -- /usr/sbin/setup
В этом примере он запускает программу настройки в текстовом режиме
2) Отредактируйте '/etc/init/start-ttys.conf', чтобы заменить tty на launch:
start on stopped rc RUNLEVEL=[2345]
env ACTIVE_CONSOLES=/dev/tty[1-6]
env X_TTY=/dev/tty1
task
script
. /etc/sysconfig/init
for tty in $(echo $ACTIVE_CONSOLES) ; do
[ "$RUNLEVEL" = "5" -a "$tty" = "$X_TTY" ] && continue
#initctl start tty TTY=$tty
initctl start launch TTY=$tty
done
end script
Я не знаю, лучшее ли это решение, но оно работает, и программа настройки отображается после загрузки.
Я решил использовать tmux
. Я не считаю, что nohup long-running-process &
соответствует моим требованиям. Я попробовал tmux
, и он работает так, как хотелось бы. Похоже, что в моем случае -case tmux
требуется только для установки на сервере.
Я сижу за рабочим столом:
$ ssh мой _сервер
$ tmux новый -сеанс -s мой _сеанс _имя
$ application _name #для запуска долго работающего -приложения и просмотра его вывода на консоли
Сейчас я сижу за ноутбуком. (Допустим, я пошел на обед.):
$ ssh мой _сервер
$ tmux прикрепить -сеанс мой _сеанс _имя
просмотреть консольный вывод того же приложения _имя
нажимайте клавиши по мере необходимости
ctrl -b d #для отключения сеанса tmux
$ exit #для отключения сеанса ssh
В конце рабочего дня я оторвусь от него и пойду домой:
Ctrl -б д
$ выход
Дома я подключусь к серверу:
$ ssh мой _сервер
$ tmux прикрепить -сеанс мой _сеанс _имя
просмотреть консольный вывод приложения _имя
нажимайте клавиши по мере необходимости
ctrl -б д
$ выход
На следующее утро на работе снова подключитесь таким же образом.