새 화면을 만들고 그 화면에서 명령을 실행하는 스크립트(개발자 웹 서버)가 있습니다.
screen -S webserver -dm sh launch_webserver.sh
그러나 명령이 완료되거나 웹서버가 종료되면 화면이 손상됩니다. 이것을 어떻게 피할 수 있습니까?
답변1
명령이 완료된 후 어떤 일이 발생하길 원하시나요? 더 이상 실행 중인 명령이 없으면 screen 세션이 종료되므로 세션을 유지하려면 다른 명령을 실행해야 합니다.
창을 유지하고 그 안에서 더 많은 명령을 실행하려면 초기 명령이 완료된 후 셸을 실행하세요.
screen -S webserver -dm sh -c 'launch_webserver.sh; echo $?; exec bash -i'
출력을 보기 위해 창을 유지하려면 sleep
(거의 무한한 인수 사용) 또는 read
(를 누를 때까지 대기 Enter)와 같은 대기 명령을 실행하십시오.
screen -S webserver -dm sh -c 'launch_webserver.sh; echo $?; read'
세션은 유지하고 창은 유지하려면 다른 명령을 실행하세요. screenrc 파일을 작성해야 합니다(어쨌든 좋은 생각입니다).
screen -c /path/to/webserver.screenrc
/path/to/webserver.screenrc
포함 하는
sessionname webserver
screen -t webserver launch_webserver.sh
screen -t shell bash