화면 세션을 시작할 수 없습니다.

화면 세션을 시작할 수 없습니다.

Bash를 통해 다음 명령을 호출했지만 화면 세션이 전혀 생성되지 않았습니다.

screen -d -m time python3 myscript.py ; sleep 1

이렇게 하면 screen -r복원할 화면이 없다고 나옵니다. 하지만 내가 시도할 때:

screen -d -m time python3; sleep 1

그러면 이 작업을 수행할 때 Py 콘솔이 표시됩니다 screen -r.

내가 뭘 잘못했나요?

답변1

screen -d -m time python3 myscript.pypython3 myscript.py스크린 세션 내에서 실행한 다음 종료합니다. 나중에 screen 세션이 표시되지 않으면 스크립트가 종료되었기 때문입니다.

myscript.py더 오래 달릴 것으로 예상했던 것 같습니다 . 뭔가 문제가 있는 것 같습니다. 무슨 일이 일어나고 있는지 확인하려면 출력(특히 오류)을 파일로 리디렉션하세요. 또는 다른 프로그램을 실행하여 세션을 활성 상태로 유지하세요.

screen -d -m time sh -c 'python3 myscript.py; echo $?; sleep 999999999'

스크립트가 화면에서 직접 실행할 때는 작동하지 않지만 대화형 셸에서 실행할 때는 작동하는 경우 이는 다음 두 가지를 의미할 가능성이 높습니다.

  • myscript.py일부 설정, 아마도 환경 변수에 따라 다릅니다. 그것은 독립적이지 않습니다.
  • 이 설정을 잘못된 위치에 설정했습니다. .bashrc대화형 셸에서만 읽을 수 있는 환경 변수를 설정했을 수 있습니다 . 대신 환경 변수를 설정하십시오 .profile. 로그인할 때 이 파일을 읽습니다.

관련 정보