Я пытался отправить команды в рабочую экранную сессию гну (4.00.03) в opensolaris, но не могу заставить его выполнять любые команды через любую комбинацию screen -X
Хорошо, я запускаю экранную сессию с screen -S test
, и затем попробованный к с screen -r -X "date"
просто показать мне дату, когда я снова соединился бы с ним. Но ни сообщения об ошибке, ни вывода на экране не произошло. Я попробовал таким количеством комбинаций, которые я не могу даже помнить.
Какие-либо подсказки, как выполнить его?
Причина, почему я делаю это, потому что у меня есть программа, которая не стала демоном, и я хочу запустить ее на экранной сессии, таким образом, я могу позже видеть то, что продолжается.
Кажется, что Вы хотите:
$ 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.
На самом деле это довольно просто. Можно использовать следующее:
screen -S sessionname -X stuff 'command'`echo -ne '\015'`
echo -ne '\015'
эмулирует нажатие клавиши Enter.
Примечание: тот 'материал' является экранной командой. http://www.gnu.org/software/screen/manual/screen.html#Stuff