screen -list
There are screens on:
4278.chat (07/16/15 14:26:47) (Detached)
15127.notifier (07/16/15 13:27:57) (Detached)
Моя цель:
- Если экран чата не запущен, запустите его, в противном случае закройте.
- выполнить команду в сеансе чата (например:
node chat.js
) - отсоединить сеанс чата
решение1
Ответ, состоящий из нескольких частей:
- Если экран чата не запущен, запустите его, в противном случае закройте.
screen -S chat -X quit || screen -S chat
Можно было бы также detach
не убивать сеанс экрана, если вы это имели в виду.
- выполнить команду в сеансе чата (например: node chat.js)
Если вы хотите начать новый экран и выполнить команду, то
screen -dm -S chat && screen -S chat -X stuff 'command-to-execute-in-screen-subshell
'
Обратите внимание на встроенную новую строку внутри кавычек. Если экран уже запущен, вы можете пропустить первую половину.
- отсоединить сеанс чата
screen -S chat -X detach
см. также ответ на первый вопрос.
Все это достаточно подробно описано в руководстве.