Часто мы запускаем jupyter notebook
чтобы открыть страницу в браузере, чтобы использовать ноутбук. Тем не менее, терминал, открывающий сервер, остается там. Есть ли способ закрыть этот терминал с сервером, работающим в задней части?
Как запустить "jupyter notebook" в фоновом режиме? Не нужно оставлять на нем один терминал
Ответ 1
Вы можете перевести этот процесс в фоновый режим с помощью jupyter notebook &
. Вы можете закрыть терминал после этого, и процесс все равно будет запущен.
Ответ 2
Tmux - хороший вариант для запуска вашего ноутбука Jupyter в фоновом режиме.
Я использую ноутбук Jupyter на виртуальной машине с облачной платформой Google с ОС: Ubuntu 16.0. Где
- Я должен запустить терминал SSH
- Затем выполните команду:
jupyter-notebook --no-browser --port=5000
. Это запустит Блокнот Jupyter на порту номер 5000 в этом экземпляре виртуальной машины - Затем я открываю свой браузер и пишу ip_addrees_of_my_instance: номер_порта, равный 5000. Он откроет мой Блокнот в браузере.
Теперь до этого все хорошо. Но подождите, если соединение с моим SSH-терминалом будет прервано, тогда Jupyter Notebook немедленно останавливается, и, следовательно, я должен перезапустить его еще раз после перезапуска ssh-терминала или с нового ssh-терминала.
Чтобы избежать этого tmux
очень хороший вариант.
Терминальный мультиплексор (tmux
) для поддержания сеансов SSH в фоновом режиме после закрытия терминала ssh:
- Запустите терминал ssh
- Тип
tmux
. Откроется окно в том же терминале. - Дайте команду, чтобы запустить Jupyter Notebook здесь. Откройте Блокнот.
Теперь, если терминал SSH закрыт/завершен, он продолжит работу вашего ноутбука на экземпляре.
Если соединение разорвано, то:
- переподключите или откройте новый терминал ssh. Чтобы увидеть эту записную книжку (которая работает в фоновом режиме), введите:
tmux attach
команда.
Хотите прекратить сеанс tmux:
- Закройте тетрадь. Затем введите
exit
в tmux-терминал-окно. (обновление: если мы закроем записную книжку и воспользуемся командойtmux detach
: она выйдет из окна/терминала сеанса tmux без завершения/остановки сеансов tmux)
Для более подробной информации, пожалуйста, обратитесь к этой статье: https://www.tecmint.com/keep-remote-ssh-sessions-running-after-disconnection/
Ответ 3
Вы можете запустить ноутбук на screen
или сеансе tmux
. Легко проверяет сообщения об ошибках и т.д.
Ответ 4
Под * nix лучший способ запустить программу, избегая остановки при закрытии терминала, - это использовать nohup (no Hang up).
ноутбук nohup jupyter & ноутбук nohup jupyter --no-browser &
nohup устанавливает в качестве родителя процесс init (0), поэтому он не получит сигнал "Зависание", когда терминал закрыт. Все выходные данные (стандартный вывод и стандартная ошибка) перенаправляются в файл nohup.out nohup существует и как программа, и как команда оболочки, поэтому, если у вас есть bash, обратитесь к man-странице bash, чтобы прочитать больше подробностей.
Ответ 5
Это работает для меня, когда работает сервер ноутбука Jupyter в фоновом режиме.
$> nohup jupyter notebook --allow-root > error.log &
Остановить ноутбук nohup jupyter просто.
Сначала найдите пид Юпитера:
$> ps -ef| grep juypter
Например, вывод:
root 11417 2897 2 16:00 pts/0 00:04:29/path/to/jupyter-notebook
Затем убейте процесс:
$> kill -9 11417
Вы также можете упростить это, сохранив pid с помощью:
$> nohup jupyter notebook --allow-root > error.log & echo $!> pid.txt
т.е. вы можете остановить ноутбук с помощью:
$> kill -9 $(cat pid.txt)
Альтернативный способ остановить блокнот jupyter - выйти со страницы блокнота.
Ответ 6
На самом деле, одного jupyter notebook &
недостаточно, бэкэнд все равно будет регистрироваться на вашем экране.
То, что вам нужно, цитируется в этой проблеме
jupyter notebook > /path/to/somefileforlogging 2>&1 &
Ответ 7
Вы можете использовать screen
чтобы запустить его.
screen -A -m -d -S anyscreenname jupyter notebook --no-browser
Это запустит Jupyter на экране, и вы можете получить доступ к экрану с помощью экранных команд.
Ответ 8
Для удаленных машин jupyter notebook &
работает нормально.
Тем не менее, он не работает на локальных машинах, когда вы закрываете терминал.
Для локальных машин используйте tmux
.