"깨진 파이프"로 인해 실패한 백그라운드 작업을 다시 시작하는 방법

"깨진 파이프"로 인해 실패한 백그라운드 작업을 다시 시작하는 방법

"nohup Nice"로 시작하는 명령으로 실행되는 백그라운드 프로세스가 있습니다. 보통 20시간 정도 걸리기 때문에 밤에 실행시켜 놓았습니다. 그러나 오늘 아침에 "쓰기 실패: 파이프 깨짐"이라는 메시지를 받았습니다. 아마도 서버가 너무 오랫동안 유휴 상태였던 연결을 닫았기 때문일 것입니다. 다시 서버에 로그인하여 "jobs" 명령을 입력하면 작업이 없습니다. 프로그램을 처음부터 실행하지 않고 남아 있는 곳부터 다시 시작하려면 어떻게 해야 합니까?

답변1

메시지가 표시되는 위치에 따라 다릅니다. 서버에 SSH를 통해 연결하고 로컬 터미널에서 이 내용을 확인하면 괜찮습니다. 프로세스가 원격 서버에서 계속 정상적으로 실행 중일 수 있습니다. 현재 셸 세션에서 실행 중인 프로세스만 표시되므로 jobs표시 되지 않습니다 . jobs서버에 다시 연결하면 새 세션이 시작되므로 jobs도움이 되지 않습니다. 실행하여 ps aux | grep ProcessName아직 실행 중인지 확인하세요.

출력 파일이나 출력 파일에 이 메시지가 표시되면 nohup.out해당 메시지가 표시되지 않는 것입니다. 어떤 식으로든 복구를 지원하는 프로세스가 아닌 한. 이 오류는 프로세스가 중지되었음을 의미합니다. 이제 중지되었으므로 사라졌으며 복원할 수 있는 방법이 없습니다.

예를 들어, 입력 파일을 읽고 출력을 생성하는 경우 언제 중지되는지 파악하고 다시 실행하여 나머지 줄만 입력으로 사용할 수 있습니다. 그러나 언제 중지되었는지에 대한 기록이 없기 때문에 마법처럼 다시 시작하도록 하는 방법은 없습니다.

관련 정보