Edit: лучший ответ на этот вопрос - этот другой SO ответ .В любом случае, я оставляю свое решение kludgey здесь, если оно вдохновляет решение аналогичной проблемы.
Возможный обходной путь - использовать второй, уже запущенный и отключенный сеанс экрана, чтобы начать сеанс экрана, чтобыкоторый вы хотите отправить команду «вещи» в подключенном режиме, а затем отправить этот сеанс экрана команду отсоединения, а затем команду вещи.
$ screen -dmS spawner
$ screen -S spawner -X screen screen -dR mydaemon
$ sleep 1 # may be necessary
$ screen -S mydaemon -X detach
$ screen -S mydaemon -X stuff "whatever"
(Примечание: удвоенный «экран» равен не опечатка!) Вы по-прежнему остаетесь с неотрывным сеансом экрана (spawner), но если ресурсы, которые он требует, важны, вы всегда можете просто использовать «kill -TERM ...» или его аналог, чтобы завершить его (или иметьчерез определенный промежуток времени он автоматически завершается, начиная с чего-то вроде
$ screen -dmS spawner bash -c "sleep 60"
или аналогичного).