이미 실행중인 스크린 세션에 명령 보내기 screen -r -X

opensolaris에서 실행중인 gnu 스크린 세션 (4.00.03)으로 명령을 보내려고했지만 다음과 같은 조합을 통해 명령을 실행하도록 할 수 없습니다 screen -X

좋아, 나는 화면 세션을 screen -S test시작한 다음 screen -r -X "date"다시 연결 할 때 날짜를 보여 주려고 노력 했다. 그러나 화면에 오류 메시지 나 출력이 발생하지 않았습니다. 나는 너무 많은 조합으로 시도했는데 기억조차하지 못했습니다.

그것을 달성하는 방법에 대한 힌트가 있습니까?

내가하고있는 이유는 데몬으로 제공되지 않는 프로그램이 있고 화면 세션에서 시작하기를 원하기 때문에 나중에 무슨 일이 일어나고 있는지 알 수 있기 때문입니다.



답변

실제로는 매우 간단합니다. 다음을 사용할 수 있습니다.

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

echo -ne '\015'Enter키 누르기를 에뮬레이트합니다 .

참고 : ‘stuff’는 화면 명령입니다.
http://www.gnu.org/software/screen/manual/screen.html#Stuff


답변

원하는 것처럼 들립니다.

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

-S 테스트 :이 세션의 이름을 지정하십시오
-d -m : 시작 화면 분리
-c / dev / null : ~ / .screenrc를 무시합니다 (다른 파일을 제공하거나이 옵션을 삭제,
  필요에 따라)
-: 화면 끝 옵션
sh -c '날짜; exec $ SHELL ': 화면을 실행하기위한 명령입니다.
  '날짜'였으면 화면이 즉시 종료됩니다. 종료하고 싶지 않다면
  명령이 종료 된 후 화면을 표시하면 다음을 사용할 수 있습니다.
    $ screen -S test -d -m -c / dev / null-여기서 명령

아니면 그냥 dtach 원할 수도 있습니다 .


답변

screen -S <session_name> -X screen [-t <title>] <shell_command> [<args>]

(제목으로 새 창 열기 제목을 기존 세션의 이름에서) session_name 및 실행 shell_command (옵션 인수와 인수를 )