이미 실행 중인 프로그램의 출력을 얻는 방법은 무엇입니까?

이미 실행 중인 프로그램의 출력을 얻는 방법은 무엇입니까?

stdout로그 파일 로 출력하는 Python 프로그램이 있습니다 .

그러나 제가 이 파일을 만드는 사람은 파일이 다른 터미널이나 백그라운드에서 실행될 때 파일의 출력을 볼 수 있도록 설정할 수 있는지 알고 싶어합니다. 예를 들어, 프로그램은 부팅 시 시작되며 사용자는 ssh해당 프로그램으로 들어가서 실행 중인 출력을 확인하려고 합니다.

그렇다면 현재 실행 중인 프로세스의 출력을 볼 수 있는 방법이 있습니까?

가능하다면 bash나 python을 사용하는 것이 좋습니다.

답변1

두 가지 옵션이 있습니다. 하나는 이를 사용하여 기록 중인 로그 파일을 볼 수 있고 , 두 번째는 나중에 (재)접속할 수 있는 (또는 유사한) 세션에서 tail -f프로그램을 시작하도록 할 수 있습니다 .screen

로그 파일이 어디에 있는지 모르는 경우 유사한 도구를 사용하여 top프로세스 psID를 찾은 다음 lsof -p12341234가 프로세스 ID인 경우 해당 프로세스에 대해 열려 있는 파일을 나열할 수 있습니다.

답변2

나는 개인적으로 less같은 용도로 사용하는 것을 선호합니다.

less your_file

일단 시작되면 less명령 F(명령줄 플래그가 아님)이 파일 끝을 적극적으로 모니터링하기 시작합니다. 이 모드에서 파일의 끝 부분을 볼 때 CTRL출력 c추가가 중지되고 less페이지를 넘길 수 있습니다. 매우 편리합니다.

관련 정보