명령을 실행하고 분리할 화면을 만듭니다.

명령을 실행하고 분리할 화면을 만듭니다.

이를 자동화하기 위해 bash 명령 한 줄을 실행하고 싶습니다.

screen -S myserver 
python myserver.py  # inside the new screen
CTRL A, D (detach)

나는 이것이 작동하지 않을 것이라고 생각합니다 :

screen -S myserver && python myserver.py

python myserver.py시작되지 않으 니까~에이것 screen.

답변1

프로그램 실행 후 바로 분리 가능~에화면:

screen -dmS myserver python myserver.py

~에서화면의 매뉴얼 페이지

-DM 분리 모드의 실행 화면입니다. 그러면 새 세션이 생성되지만 연결되지는 않습니다. 이는 시스템 시작 스크립트에 유용합니다.

답변2

@Stefan M의 답변은 좋지만 명령이 끝나면 전체 화면도 끝나기 때문에 화면 내에서 명령을 실행하는 것과는 다릅니다. 실제로 화면에서 명령을 실행하면 명령이 종료될 때 쉘이 남게 됩니다.

다음 명령을 사용하여 셸을 보존할 수 있습니다.

screen -s "/bin/bash" -dmS myserver; screen -S myserver -X stuff "python myserver.py\n"; 

그러면 먼저 셸로 화면이 시작된 다음 해당 셸에서 실행할 몇 가지 명령이 전송됩니다. 이는 화면에 직접 이러한 명령을 입력하는 것과 같습니다.

더 자세한 스크립트는 여기에서 확인할 수 있습니다.https://unix.stackexchange.com/a/766301/598166

관련 정보