На сервере не получается запустить сразу 2 программы на python
Я имею сервер на Ubuntu 22.04. Есть скрипт который срабатывает при запуске сервера.
Вот он:
#!/bin/bash
cd /root/Tic_tak_toe_project_2/Tic_tak_toe_project/
sudo /usr/bin/python3 main.py > /dev/null
cd ~
cd /root/Scenario_bot/
sudo /usr/bin/python3 main.py > /dev/null
Один main.py это сайт, второй это бот в Telegram
Почему-то запускается только main.py отвечающий за сайт(первый), а второй нет. Но если я вручную включаю второй main.py, он работает. Что не так я делаю?
Ответы (1 шт):
Так происходит по той причине, что у вас не возвращается управление дальше в скрипт.
Оператор & используется для того, чтобы организовать исполнение команд в фоновом режиме. Если поставить значок & после команды, то оболочка вернет управление пользователю сразу после запуска команды, не дожидаясь, пока выполнение команды завершится. Например, если задать в командной строке "command1 & command2 &", то оболочка запустит команду command1, сразу же затем команду command2, и затем немедленно вернет управление пользователю
#!/bin/bash
cd /root/Tic_tak_toe_project_2/Tic_tak_toe_project/
sudo /usr/bin/python3 main.py > /dev/null &
cd ~
cd /root/Scenario_bot/
sudo /usr/bin/python3 main.py > /dev/null &
По идее так должно сработать