отправьте команду в уже рабочую экранную сессию

Я пытался отправить команды в рабочую экранную сессию гну (4.00.03) в opensolaris, но не могу заставить его выполнять любые команды через любую комбинацию screen -X

Хорошо, я запускаю экранную сессию с screen -S test, и затем попробованный к с screen -r -X "date"просто показать мне дату, когда я снова соединился бы с ним. Но ни сообщения об ошибке, ни вывода на экране не произошло. Я попробовал таким количеством комбинаций, которые я не могу даже помнить.

Какие-либо подсказки, как выполнить его?

Причина, почему я делаю это, потому что у меня есть программа, которая не стала демоном, и я хочу запустить ее на экранной сессии, таким образом, я могу позже видеть то, что продолжается.

11
задан 15.04.2013, 18:20

2 ответа

Кажется, что Вы хотите:

$ screen -S test -d -m -c /dev/null -- sh -c 'date; exec $SHELL'

-S test: name this session
-d -m: start screen detached
-c /dev/null: ignore ~/.screenrc (provide a different file or drop this option,
  as needed)
--: end of screen options
sh -c 'date; exec $SHELL': command for screen to run, note that if this command
  was just 'date' then screen would exit immediately.  if you don't want to exit
  screen after your command exits, then you might use:
    $ screen -S test -d -m -c /dev/null -- your command here

Или возможно Вы просто хотите dtach.

5
ответ дан 07.12.2019, 12:14

На самом деле это довольно просто. Можно использовать следующее:

screen -S sessionname -X stuff 'command'`echo -ne '\015'`

echo -ne '\015' эмулирует нажатие клавиши Enter.

Примечание: тот 'материал' является экранной командой. http://www.gnu.org/software/screen/manual/screen.html#Stuff

18
ответ дан 07.12.2019, 12:14

Теги

Похожие вопросы