#parallel-processing #jupyter #google-colaboratory
#параллельная обработка #jupyter #google-colaboratory
Вопрос:
Я запускаю сервер в ноутбуке Google colab. На этом сервере я хочу запустить основной процесс, который ожидает, пока другие подпроцессы что-то сделают. Когда я запускаю основной процесс в ячейке кода, я вижу, что он правильно прослушивает другие с открытыми портами сокетов, и когда я запускаю подпроцесс, они выдают ошибку, потому что пропускают основной процесс.
Я хочу сначала запустить основной процесс, а в других ячейках — подпроцесс, при этом основной процесс все еще запущен. Но когда я делаю это со всеми остальными ячейками, тогда ячейки основного процесса находятся в очереди ожидания.
Когда я делаю это в (Ubuntu) В Linux все работает отлично: запускайте каждый процесс в другом терминале.
Как это можно сделать с помощью Google colab (или jupyiter)?
Я попробовал многопроцессорную обработку Python, которая не сработала.
Ответ №1:
По-прежнему возможно запускать несколько процессов одновременно с помощью:
!nohup /usr/bin/python3 yourscript.py amp;
Только не забудьте символ amp; в конце.
Ответ №2:
Можно было поместить !nohub
начало каждой строки процесса, чтобы он не блокировал терминал и, наконец !tail -f nohup.out
, увидеть результаты. Я до сих пор не знаю, как проверить процесс в реальном времени.