화면 세션 내에서 스크립트로 일부 응용 프로그램을 시작하고 싶습니다.
스크립트가 없으면 화면을 시작한 다음 crtl-ac로 N 창을 열고 각 창에서 프로그램을 실행합니다.
나는 다음을 시도했다
screen -d -m -S test
screen -S test -X exec tail -f /var/log/messages
screen -S test -X screen
screen -S test -X exec tail -f /var/log/xinetd.log
그러나 내가 연결하면 세션 테일이 실행되지 않습니다. 방금 세션을 연결하고 다른 터미널에서 screen -d -m -S startup
실행 screen -S startup -X exec tail -f /var/log/messages
하면 작동합니다.
내가 뭐 놓친 거 없니 ?
AlexD 답변 후 편집 :
반 작업 솔루션은
screen -d -m -S test tail -f /var/log/messages
screen -S test -X screen tail -f /var/log/xinetd.log
exec는 화면을 분리 할 때 현재 창이 정의되어 있지 않고 exec는 현재 창이 정의 될 것으로 예상하기 때문에 exec는 명령과 함께 화면 연결 명령 (-X 이후의 명령)이 작동 중일 수 있습니다. 이 팁에 대한 AlexD 에게 감사합니다 .
그러나 이상한 부작용이 있습니다 : 프로그램이 멈 추면 (스크린 세션을 연결하고 꼬리를 죽이거나 꼬리를 죽이면) 화면 창이 닫힙니다.
따라서 동작은 Crtl-A c와 동일하지 않고 명령을 실행합니다.
또 다른 부작용은 2 개의 명령을 연결할 수 없다는 것입니다
screen
항상 이 도구의 정상적인 기능입니다 : 당신이 실행 ..so 경우 -와 명령이 끝을 발사 할 때 종료screen top
, 당신이 종료 할 때top
,screen
도 종료됩니다