Вы должны передать команду для запуска в сеансе экрана. Вы можете сделать это, передав команду напрямую или вызвав скрипт, который запускает любую команду, которую вы хотели.
screen -S test "python3 test.py"
Если вы используете этот метод, обратите внимание, что команда (python
) и передаваемый ему аргумент (test.py
) находятся внутри речевых меток ".." - это может усложниться, если вы передаете аргументы, которые требуют специально отформатированной речи оценки, и, возможно, будет проще использовать метод ниже.
screen -S test /home/user/test.sh
где test.sh находится в /home /user /, является исполняемым (chmod +x ./test.py
) и содержит:
#!/bin/sh
python3 test.py
Преимущество второго способа заключается в том, что в сценарии можно использовать столько команд, сколько вы хотите, они будут запускаться одна за другой.
Вы можете запустить несколько команд одновременно, используя фоновую задачу:
#!/bin/sh
# All 3 will run at the same time
python3 test.py &
python3 test1.py &
python3 test2.py &
Некоторые дополнительные хитрые приемы можно найти в аналогичном вопросе по SF, и последнее, на что следует обратить внимание, это то, что при ВСЕХ этих методах сам сеанс экрана закрывается после выхода из программы / скрипта. Если вы не хотите, чтобы это делалось, вы хотите посмотреть на выполнение сеанса bash, который вызывает скрипт и затем возвращается к сеансу bash после - как этот screen -S test "someCommand; bash"
.