Как я могу создать сценарий GNU Screen для запуска программы, запущенной внутри него, чтобы она не выходила из сеанса после завершения программы?

Как я могу создать сценарий GNU Screen для запуска программы, выполняющейся внутри него, чтобы она не выходила из сеанса после завершения программы?

Я хочу запустить интерактивную программу как демон, если я вручную запустил экран, а затем запустил эту программу внутри него, все будет работать так, как я хочу. Если программа завершится или выйдет из строя, сеанс экрана останется, и я могу пойти посмотреть на него, чтобы узнать, что только что произошло. Однако, если я запускаю программу с простого запуска экрана, она запускается внутри экрана, но когда программа завершает работу, сеанс экрана заканчивается, и любой вывод программы теряется.

Итак, screen –dmS serverName serverApplication не работает в моем сценарии. Я действительно думал о создании сценария, который запускает программу, которую я хочу запустить, а затем засыпает вечно, я мог бы запустить сценарий одновременно с экраном и должен получить тот эффект, который мне нужен, но это кажется довольно неопрятным способом делать что-то и я уверен, что должно быть что-то более элегантное.

Я прочитал довольно много экранных руководств и пролистал справочную страницу, но мне ничего не приходит в голову, как это сделать. Я пробовал –X, но это для экранных команд, а не для запуска команд внутри сеанса экрана ... Мы будем очень благодарны за любые предложения; Я даже счастлив использовать что-то другое, кроме экрана GNU, если есть лучший инструмент для использования в сценариях, но, пожалуйста, дайте мне пример, где это возможно.

(Боковое примечание: две вещи, которые я буду использовать с этим, - это minecraft_server и Mythv_backend. Я планировал запускать их из задания хронирования при загрузке с помощью некоторого скрипта ruby ​​/ bash)

24
задан TafT 22 June 2018 в 08:17
поделиться