Ctrl+C 이후에 make를 재개할 수 있나요?

Ctrl+C 이후에 make를 재개할 수 있나요?

슈퍼컴퓨터 클러스터에 gcc 버전 5.1을 설치하고 있습니다. 이를 구성하고 이제 make 명령을 실행합니다. 몇 시간이 지났는데 오랜 설치로 인해 여전히 실행 중인데 이제 업무가 끝나고 퇴근해야 합니다. Ctrl+ 를 사용하여 make를 종료하고 C내일 아침에 make를 다시 실행하면 중단된 부분부터 다시 시작됩니까? 아니면 처음부터 다시 시작해야 하나요? make를 중단하면 문제나 오류가 발생합니까?

답변1

Ctrl+ 를 누르면 C터미널에서 실행 중인 프로세스(기술적으로는 프로세스 그룹)가 종료됩니다. 당신은 그것을 부활시킬 수 없습니다. 당신이 할 수 있는 일은 다시 실행하는 것 뿐이다.

실행에는 make여러 단계가 포함되며 각 단계에서는 파일을 컴파일하거나 일부 파일을 링크하거나 테스트를 실행합니다. Ctrl+를 누르면 C현재 단계가 취소되지만 이전 단계의 데이터는 모두 그대로 유지됩니다. make 유틸리티는 어떤 단계가 수행되었으며 다시 수행할 필요가 없는지 빠르게 알아내도록 설계되었습니다. 따라서 다시 실행하면 make상황을 분석하고 짧은 시간(대규모 프로젝트의 경우 몇 초 정도)에 중단된 부분부터 다시 시작됩니다.

머신이 밤에 재부팅되지 않으면 밤에 로그아웃하더라도 계속해서 명령을 실행할 수 있습니다. 터미널 멀티플렉서를 시작합니다.화면또는멀티플렉서. 예를 들어 터미널에서 다음을 실행합니다.

screen

그러면 터미널에 새 셸이 열립니다. 여기에서 해당 디렉토리로 전환하고 를 입력 make한 다음 +를 눌러 Ctrl스크린 세션을 종료합니다 A d. 원래 쉘 프롬프트로 돌아가지만 화면의 명령은 여전히 ​​실행 중입니다. 다음 명령을 실행하면 로그아웃했다가 다시 로그인하고 아직 실행 중인 screen 세션에 다시 연결할 수 있습니다.

screen -rd

관련 정보