У меня есть несколько серверов, на которых я использую эксперименты screen
. Процедура следующая:
ssh
на сервер XXX- запуск
screen
- начать эксперименты в нескольких вкладках
- открепление
screen
- отключиться от сервера
Пока проводятся эксперименты, я легко могу определить, на каких серверах они находятся, ssh
на всех серверах и перечисляя мои запущенные процессы (используя top
или ps
).
Однако, как только эксперименты будут завершены, как я могу найти, на каких серверах у меня открыт сеанс экрана (чтобы я мог посмотреть на вывод, перезапустить их и т. Д.)?
PS: мои эксперименты тоже распечатывают их вывод в файлы ... но это не главное в моем вопросе.
источник
ls -R /var/run/screen/S-root/ | grep "NamingConvention"
, Экраны сохраняются в<pid>.<screen_name>
формате. Это полезно для скриптов bash. Поэтому, если у вас есть экран с именем,0000.NamingConvention
он буквально просто вернет название экранов, которые вы ищете, в удобном для анализа формате.Список команд на экране может быть тем, что вы хотите.
Увидеть мужчину
источник
Хотя ответ Джошперри правильный, я нахожу очень раздражающим, что он не сообщает вам псевдоним (тот, который вы задали с помощью опции -t), это именно то, что вы используете для идентификации сеанса. (не его вина, конечно, это недостаток экрана)
Вот почему я вместо этого использую такой скрипт:
ps auxw|grep -i screen|grep -v grep
источник
ls
выводе. Если вам нужно, вы также можете сохранить опцию -t.screen -rd <sessionname>
Я не совсем уверен в вашем вопросе, но если все, что вам действительно нужно, это список сеансов, открытых в данный момент, попробуйте:
источник
Если вы хотите увидеть экран в консоли, то вам нужно написать команду
если вам нужен доступ к экрану, используйте команду ниже
Напишите
PWD
в командной строке, чтобы проверить, в какой папке вы находитесь в данный моментисточник
В большинстве случаев
screen -RRx $username/
будет достаточно :)Если вы все еще хотите перечислить все экраны, поместите следующий скрипт в свой путь и назовите его screen или как вам угодно:
Он будет вести себя точно так же, как и экран, за исключением отображения всех сеансов экрана, когда в качестве первого параметра указана опция -ls-all.
источник
Несколько человек уже указали, что
будет список сеансов экрана.
Вот еще один трюк, который может быть полезен для вас.
Если вы добавите следующую команду в качестве последней строки в свой файл .bashrc на сервере xxx, она автоматически подключится к сеансу экрана при входе в систему.
Надеюсь, что вы найдете ее полезной.
источник
чтобы увидеть, что этот экран работает, если вы использовали команду
источник
То есть вы используете экран, чтобы эксперименты продолжались в фоновом режиме, или как? Если так, то почему бы просто не запустить его в фоновом режиме?
И если вы спрашиваете, как получить уведомление о работе, которую я сделал, как насчет того, чтобы связать эксперимент с почтовой командой?
источник