Данная команда является дочерней по отношению к экрану, поэтому при ее выходе окно становится мертвым.
Вы можете обойти это, запустив оболочку, а затем вставив ввод в окно, чтобы выполнить команду, но это только меняет проблему, так что у вас останется длительное приглашение оболочки, и сервер не перезапустится автоматически.
На самом деле вы хотите запустить команду keep-alive, которая затем запустит интересующий вас сервер. Существует множество инструментов, но самое простое - написать что-то в оболочке самостоятельно (если только вы не хотите использовать все возможности выделенных инструментов).
#!/bin/sh
while [ ! -f /home/servicename/shutdown-flagfile ]; do
echo "Starting server [$(date)]"
server-binary-name "$@"
sleep 1
done
Строка 2 позволяет вам выйти из цикла, создав специальный файл (с "прикосновением"), имя-сервера-сервера - это программа, которая действительно запускается, «$ @» - чтобы пройти через опции, которые вызывал обертка и режим сна 1 означает, что если сервер умирает при запуске, вы не жуете весь ЦП, многократно перезагружая его тысячи раз в секунду, так что трудно войти и посмотреть, что происходит. Строка echo просто позволяет увидеть, когда сервер должен был быть перезапущен в последний раз.