내 예에서는 실행하는 데 시간이 오래 걸리는 명령을 실행하고 있습니다 (몇 시간).
make 또는 make -j4를 입력했는지 실제로 기억하지 못합니다.
물론 중지하고 키를 누르거나 기록을 확인하여 프로세스를 중지 할 수는 있지만 프로세스가 중지되지는 않습니다 (이미 make -j4를 수행하는 경우).
프로세스를 멈추지 않고 어떤 명령이 실행되고 있는지 알 수있는 방법이 있습니까?
답변
make
컴퓨터에서 실행중인 모든 인스턴스에 대한 전체 명령 행을 보려면 새 터미널을 열고 다음을 시도하십시오.
pgrep -a make
pgrep
컴퓨터의 모든 프로세스를 검색하는 프로그램입니다. 이 경우라는 프로그램을 찾고 있습니다 make
. 이 옵션 -a
은 pgrep
일치하는 각 프로세스에 대한 프로세스 ID와 전체 명령 줄을 모두 나열하도록 지시 합니다. (없이는 -a
프로세스 ID 만 반환합니다.) pgrep의 많은 옵션에 대한 자세한 내용은을 참조하십시오 man pgrep
.
답변
터미널 창이 활성화되어있는 동안 Ctrl+ 를 눌러 프로세스를 일시 중지 (일시 정지) 할 수 있습니다 Z. 그런 다음 입력하여 백그라운드에서 작업을 푸시 할 수 있습니다 bg
(이제 작업이 백그라운드에서 계속 진행되며 동시에 명령 행에서 작업 할 수 있습니다. 이는 명령 행 &
끝에서 작업을 시작하는 것과 같습니다 ). 그런 다음 커서 화살표 (위와 아래)를 사용하여 사용한 명령을 확인하십시오. 원하는 경우 (필요하지는 않지만)를 입력하여 작업을 포 그라운드로 가져올 수 있습니다 fg
.
답변
작업을 일시 중지하기 위해 Stefan : ^ Z와 같은 작업을 수행 한 다음 실행 jobs
합니다. 여러 프로세스가 실행중인 경우 일시 중지 한 작업을 정렬해야 할 수도 있지만 일반적으로 명령 줄이 제공됩니다. 그런 다음 실행 fg
을 계속하려면 실행하십시오.
답변
이를 동적으로 확인하는 가장 좋은 방법은 맨 위를 실행하는 것이며 전체 시스템 상태와 시스템에서 실행중인 프로세스를 알려줍니다.
‘ps ux’를 수행하면 pid 및 기타 정보와 함께 프로세스가 표시됩니다. 원하는 경우 스킬을 사용하여 프로세스 중 일부를 제거 할 수 있습니다.이 페이지는 좋은 리소스입니다. 장치 대기 등에 매달린 경우 -hup, 데몬 재시작 등의 다른 신호를 프로세스에 보낼 수도 있습니다.
Top은 프로세스 크기, 경과 시간 및 현재 CPU 상태와 메모리 및 스왑 상태를 보여주기 때문에 좋습니다.
나는 종종 make.out 로그 파일에서 $ make> & make.out & 그리고 less 또는 tail -f를 수행합니다. 지금부터 make는 쉘 세션에서 프로세스로 분리됩니다.