Я пытаюсь одновременно запускать несколько сценариев на отдельных сеансах экрана.Просмотр вывода скрипта с использованием экрана
Это код, который у меня есть.
#!/bin/bash
screen -mdS Name_Screen1 "python /path/to/file/file.py arg1 arg2 arg3"
screen -mdS Name_Screen2 "python /path/to/file/file.py arg3 arg4 arg5"
screen -mdS Name_Screen3 "python /path/to/file/file.py arg6 arg7 arg8"
При вводе «экран -list», чтобы увидеть, что экраны доступны, я не вижу какой-либо из экранов я в настоящее время работает. Эти скрипты выводят некоторую информацию на экран, что зависит от приведенных аргументов. Я просмотрел некоторые проблемы, размещенные здесь, но я не могу найти ответ для этого.
Есть ли способ посмотреть выходные данные этих экранов, не делая что-то вроде «> out.txt»?
Update
Так что я, наконец, понял это. В итоге я создал только один сеанс экрана и несколько окон в сеансе.
#!/bin/sh
Lum_Types=("Window1" "Window2" "Window3")
Windowname="Screen_session"
screen -mdS $Windowname
for Lum in ${Lum_Types[@]}
do
screen -S $Windowname -X screen -t $Lum
screen -S $Windowname -p $Lum -X stuff $"python /Path/to/file arg1 arg2"
screen -S $Windowname -p $Lum -X stuff $'\n'
done
Одним из ключевых элементов были добавить $
после -X stuff
, чтобы передать строку на сессию экрана и окно.
Вы не видите эти экраны в рабочем состоянии? Вы используете «screen -list» как один и тот же пользователь? Продолжаются ли эти процессы или они вышли? –
@EtanReisner Да, я запускаю список экранов как один и тот же пользователь. Если я сначала выполнил команду «screen -mdS Name_Screen» без остальной части команды, тогда экран будет создан. Но по какой-то причине, когда я прикрепляю остальную команду, ничего не появляется. – Victor
Выполняются ли процессы до проверки? Что делают эти процессы? Можете ли вы запустить их на экране правильно вручную? –