Как запустить "jupyter notebook" в фоновом режиме? Не нужно оставлять на нем один терминал

Часто мы запускаем jupyter notebook чтобы открыть страницу в браузере, чтобы использовать ноутбук. Тем не менее, терминал, открывающий сервер, остается там. Есть ли способ закрыть этот терминал с сервером, работающим в задней части?

Ответ 1

Вы можете перевести этот процесс в фоновый режим с помощью jupyter notebook &. Вы можете закрыть терминал после этого, и процесс все равно будет запущен.

Ответ 2

Tmux - хороший вариант для запуска вашего ноутбука Jupyter в фоновом режиме.

Я использую ноутбук Jupyter на виртуальной машине с облачной платформой Google с ОС: Ubuntu 16.0. Где

  1. Я должен запустить терминал SSH
  2. Затем выполните команду: jupyter-notebook --no-browser --port=5000. Это запустит Блокнот Jupyter на порту номер 5000 в этом экземпляре виртуальной машины
  3. Затем я открываю свой браузер и пишу ip_addrees_of_my_instance: номер_порта, равный 5000. Он откроет мой Блокнот в браузере.

Теперь до этого все хорошо. Но подождите, если соединение с моим SSH-терминалом будет прервано, тогда Jupyter Notebook немедленно останавливается, и, следовательно, я должен перезапустить его еще раз после перезапуска ssh-терминала или с нового ssh-терминала.

Чтобы избежать этого tmux очень хороший вариант.

Терминальный мультиплексор (tmux) для поддержания сеансов SSH в фоновом режиме после закрытия терминала ssh:

  1. Запустите терминал ssh
  2. Тип tmux. Откроется окно в том же терминале.
  3. Дайте команду, чтобы запустить Jupyter Notebook здесь. Откройте Блокнот.

Теперь, если терминал SSH закрыт/завершен, он продолжит работу вашего ноутбука на экземпляре.

Если соединение разорвано, то:

  1. переподключите или откройте новый терминал ssh. Чтобы увидеть эту записную книжку (которая работает в фоновом режиме), введите: tmux attach команда.

Хотите прекратить сеанс tmux:

  1. Закройте тетрадь. Затем введите 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.