У меня проблема с screen
. По сути, я хочу, чтобы он делал по одному журналу на каждый экран, например, экран № 1 будет screenlog.1
и экран № 2 будет screenlog.2
- вы получите памятку.
В любом случае, происходит следующее, когда я запускаю экран с помощью:
screen -SL screen1
( -L
Параметр нужен, потому что мне нужно заставить его делать логи) он регистрирует только первый экран, а не остальные 2-5 экранов. Я пробовал использовать файл .screenrc
с logfile
параметром, он работает - но просто меняет имя screenlog.0
, что не совсем то, что мне нужно.
Есть идеи, как мне это сделать?
Дополнительная информация: CentOS 6.3 (64bit). Версия экрана 4.00.03 (FAU) 23-окт-06.
решение1
Вот как можно регистрировать выходные данные нескольких сеансов экрана в отдельных файлах журнала:
- Начните сеанс экрана, используя
screen -S <preferred-name-of-session>
- Прикрепите экран с помощью &, а затем установите файл журнала экрана с помощью команды:
Ctrl + a :logfile <name-of-log-file>
- Начните запись экрана, выполнив команду
Ctrl + a H
- Запустите нужную программу и отсоедините экран.
Каждый раз это может показаться трудоемким, но как только вы начнете этим пользоваться, это станет очень удобно!
решение2
Возможно, вы столкнулись с буферизацией выходных данных журнала.
Я локально протестировал как с именем экрана, так и без него и получил ожидаемые screenlog.0 и .1 и .2 и т.д. Каждый журнал соответствовал содержимому каждого окна. Перед записью на диск есть буфер
Счетчик времени промывки: http://www.gnu.org/software/screen/manual/screen.html#Logging
решение3
В дополнение кчто сказал сплэр(вероятно, именно это здесь и происходит), вы можете захотеть использоватьscript
записывать свои сеансы, если screen
это доставляет вам неудобства.
Удобство screen -L
— это хорошо, но если оно доставляет вам неудобства, script
это удобный обходной путь (и если вы когда-нибудь окажетесь за компьютеромбез screen
-- они, к сожалению, все еще существуют -- и, скорее всего, script
так и будет).