
나는 zsh
많은 스크린 세션을 시작하고 각 스크린 세션에서 다른 명령을 실행하는 스크립트를 작성했습니다. 스크립트가 실행되면 총 72개의 화면이 나오므로 job
수동으로 완료되었는지 확인하는 것은 시간이 많이 걸리는 작업입니다. 스크린 세션에 실행 중인 작업이 있는지 확인하고 실행 중인 작업이 없을 때 세션을 종료하는 별도의 스크립트를 실행할 수 있습니까? 어떤 아이디어가 있나요? 모든 스크린 세션에서 무슨 일이 일어났는지 확실하게 확인할 수 있는 방법이 생각나지 않았습니다. 미리 감사드립니다.
답변1
나는 상상할 수 있었다출력 로깅화면 기능이 도움이 될 수 있습니다(자세한 내용은매뉴얼 페이지자세한 내용은). 세션의 출력 로그를 생성하고 이를 확인하여 작업이 완료되었는지 확인할 수 있습니다.
또는 실행 중인 프로세스의 트리(예: 사용 pstree
)를 확인하여 screen 세션 내의 쉘에 여전히 실행 중인 하위 항목이 있는지 확인할 수 있습니다. 그러나 pstree
스크립트의 출력을 구문 분석하는 것은 번거롭고 오류가 발생하기 쉽다고 생각할 수 있으므로 실제로는 (실행 중인 프로세스 트리를 얻기 위해) 커널 인터페이스를 사용하고 싶을 수도 있습니다.