Запуск ./manage.py runworker в фоновом режиме - PullRequest
2 голосов
/ 24 марта 2019

Я хотел знать, какие у меня есть варианты запуска

 ./manage.py runworker 

в фоновом режиме.Я попытался сделать это

python ./manage.py runworker 2>>./daphneWorker.log >&2

, но это тоже не сработало.Любые предложения о том, как я могу заставить его работать в фоновом режиме?

Ответы [ 2 ]

2 голосов
/ 24 марта 2019

Я всегда использую инструмент screen для такого рода работ.Это виртуальный терминал, который всегда работает, даже если ваш ssh отключен.

Сначала используйте команду screen, чтобы создать окно экрана в той же оболочке.Он покажет вам кучу информации, просто нажмите Enter или пробел.Чем ты придумал подобный твой терминал.Запустите ваше приложение в этом терминале:

./manage.py runworker

, теперь ваше приложение работает, и вы можете отсоединиться от окна экрана с помощью ctrl+a d.Это вернет вас к вашему настоящему терминалу.Если вы хотите вернуться к своему отдельному экранному окну, которое работает в фоновом режиме, просто наберите screen -dr или, если у вас есть несколько отдельных экранных окон, сначала перечислите все из них с помощью screen -ls, а затем снова присоедините желаемое окно с помощью screen -r [number_of_window].Когда вы закончите, вы можете убить окно экрана с помощью ctrl+a k изнутри окна экрана.

0 голосов
/ 24 марта 2019

Вы можете использовать nohup, чтобы он работал в фоновом режиме.

nohup python manage.py runserver 0.0.0.0:80 &

nohup предотвращает автоматический прерывание команды, когда вы Выйдите из системы или выйдите из нее.

Чтобы остановить процесс запуска сервера на порту 80

netstat -nlp | grep :80

Приведенная выше команда дает вам идентификатор процесса или PID

Тогда:

kill PID

И в случае, если вы хотите записать вывод

nohup python manage.py runserver 0.0.0.0:80 > myLog.out &
...