Как мне написать скрипт GNU Screen для запуска с запущенной в нем программой, чтобы он не выходил из сеанса по завершении программы?
Я хочу запустить интерактивную программу в качестве демона, если я вручную запускаю экран, а затем запускаю эту программу внутри него, все работает так, как я хочу. Если программа завершается или завершается сбоем, сеанс экрана остается, и я могу посмотреть, что только что произошло. Тем не менее, если я запускаю программу с простым запуском экрана, то она запускается внутри экрана, но когда программа выходит из экрана, сеанс экрана заканчивается, и любой вывод из программы теряется.
Так что screen –dmS serverName serverApplication
не работает для моего сценария. Я действительно думал о создании сценария, который запускает программу, которую я хочу запустить, а затем спит навсегда, затем я мог запустить сценарий в то же время, что и экран, и должен получить эффект, которого я добиваюсь, но это выглядит довольно неопрятным способом делать вещи и я уверен, что должно быть что-то более элегантное.
Я прочитал довольно много экранных обучающих программ и пролистал справочную страницу, но ничто не вылилось на меня как правильный способ сделать это. Я пробовал –X, но это для экранных команд, а не для запуска команд внутри экранной сессии ... Любые предложения будут очень благодарны; Я даже рад использовать что-то, кроме GNU Screen, если есть лучший инструмент для использования в скриптах, но, пожалуйста, приведите пример, где это возможно.
(Примечание: две вещи, с которыми я буду работать, это minecraft_server и mythtv_backend. Я планировал запустить их из задания chron при загрузке с помощью сценария ruby / bash)