Как узнать, когда закончится работа на экране?

Можно ли узнать, завершен ли сценарий, выполненный внутри сеанса экрана, или нет? Сценарий можно увидеть, набрав jobs и я хотел бы завершить screen session когда скрипт закончен. Как я могу это сделать или могу ли я закончить сам экран после успешного выполнения скрипта? Это не удобно делать вручную, так как я запускаю 72 сеанса экрана одновременно. Было бы очень приятно как-то проверить статус заданий внутри сеансов экрана автоматически и распечатать их на stdout и завершить сеансы screen когда выполняемые работы будут завершены.

2 Solutions collect form web for “Как узнать, когда закончится работа на экране?”

Вы просто your_script команды 1. your_script и 2. kill this screen session

Пусть foo.sh будет вашим скриптом. Команда убить сеанс экрана kill . Вы выдаете команды на сеанс экрана с screen -X , заставляя screen -X kill команду shell / bash, чтобы убить сеанс экрана, в котором вы сейчас находитесь.

 screen -S the_session_for_my_job 

для создания сеанса экрана, а затем вы

 /path/to/foo.sh; screen -X kill 

Это убьет сеанс экрана, независимо от количества окон, и сделает это после завершения foo.sh.

Более сложным способом является просмотр идентификаторов процессов и выдача команды kill при исчезновении определенного ПИД-кода.

Пусть 12345 PID процесса, который вы хотите посмотреть. Тогда вы

 while ps a | grep ^12345;do sleep 2; done; screen -X kill 

Цикл while наблюдает за списком процессов для процесса с PID 12345. Если такой процесс существует, он будет спать 2 секунды перед повторной проверкой. Если процесс с этим PID не существует, цикл while завершается. Затем выдается команда kill.

Я использую электронную почту со следующим:

 command | mail-s job_output to@email.com; exit 

Или, если он уже запущен, вы можете ввести (или скопировать-вставить, если есть много выходных) команд для выполнения после завершения:

 echo $STY done | mail -s job_done to@email.com; exit 
  • Выполнение команды на удаленном экране
  • Какова схема текстового отображения нажатий клавиш на экране?
  • Отправка команд для отображения на экране
  • Завершение сеанса экрана GNU, если SSH не подключен
  • Преобразование строки состояния экрана gnu в строку состояния tmux
  • Экран экрана GNU переименовывается всякий раз, когда я набираю команду
  • В чем разница между прикрепленным и отсоединенным экраном?
  • экрана по сравнению с открытием виртуальных консолей
  • Невозможно использовать клавишу со стрелкой в ​​режиме копирования экрана или списка окон
  • Как изменить цвет жесткого диска экрана на основе зарегистрированного пользователя?
  • постоянные сеансы ssh без экрана или tmux
  • Почему приложение не запускается с экрана без задержки?
  • Interesting Posts

    cgroup memory.usage_in_bytes всегда нулевая для некоторых задач

    Удалить строку, содержащую определенную строку, и следующую строку

    Сценарий с использованием пользовательского ввода для расчета старой даты

    Как добавить таблицу разделов ms-dos в устройство цикла?

    Должен ли я иметь сублицензию от LMI для этого?

    Есть ли способ чередования двух файловых систем одной структуры?

    Управление отображаемыми файлами

    Прикрепить файлы для отправки почты, которые являются результатом набора команды find

    Существует ли какой-либо пользователь, который будет существовать в системе

    Правда ли, что существует 4 типа ** вывода **, мы можем ссылаться на файл в Linux?

    Есть ли онлайн-сайт тестирования скриптов bash?

    Поиск отредактированных системных файлов

    Как добавить новую текстовую строку в первую строку файла?

    Awk разделяет большой файл условно в нескольких выходных файлах

    Команда «cp p2 & 2 &» заставляет Konsole исчезать, это ошибка?

    Linux и Unix - лучшая ОС в мире.