SSH에서 중단된 프로세스를 종료하는 방법은 무엇입니까?

SSH에서 중단된 프로세스를 종료하는 방법은 무엇입니까?

Amazon AWS에서 실행되는 가상 머신과 SSH 세션이 있습니다.

제가 실행 중인 프로그램 중 하나가 SSH 터미널을 멈추고 정지시킵니다.

Enter그래서 + ~+를 입력했습니다 ..

이제 내 컴퓨터에 연결하려고 하면 연결 시간이 초과되었다는 메시지가 나타납니다.

  1. 이는 연결이 클라이언트에서만 종료되고 서버에서는 여전히 활성 상태임을 의미합니까? 그렇다면 어떻게 새로운 연결을 만들 수 있나요?
  2. Ctrl+ CSSH 쉘에서는 작동하지 않습니다. 이는 SSH 세션을 종료하지 않고는 보류 중인 명령을 종료할 수 없다는 의미입니까?

답변1

SIGSTOP을 프로세스(대부분의 쉘은 Ctrl-Z이 목적으로 사용함)에 보낼 수 있으며, 이는 현재 프로세스에 현재 상태를 일시 중지하도록 지시합니다. 그런 다음 쉘 명령 프롬프트로 돌아갑니다. 그런 다음 이 명령을 사용하여 일시 중지된 작업을 확인한 jobs다음 이 kill명령을 사용하여 프로세스를 종료할 수 있습니다. 프로세스가 출력 목록의 첫 번째인 경우 kill -TERM %1을 실행하고 해당 프로세스 jobs가 사라졌는지 다시 확인합니다. jobs가능한SIGKILL( kill -KILL %1)을 전송해야 합니다.

작업 제어에 대한 간단한 가이드는 다음에서 찾을 수 있습니다.

http://en.wikibooks.org/wiki/A_Quick_Introduction_to_Unix/Job_Control

답변2

에 대한 연결이 종료되면 ~.서버는 즉시 이를 알지 못할 수 있습니다 . 결국 Keepalive 메시지("고객님, 한동안 소식을 듣지 못했습니다. 아직 거기 계십니까?")를 보내고 응답이 없음을 감지한 다음 터미널을 닫고 SIGHUP을 포그라운드 프로세스로 보냅니다. 그룹 리더 .

Ctrl+ CSSH 없이도 SSH를 통해 작동합니다.

프로세스 충돌로 인해 새 연결을 열 수는 없습니다.

설명하신 증상으로 판단하면 어떤 이유로 가상 머신 전체가 오프라인 상태입니다. 어쩌면 OS가 충돌했을 수도 있고, 네트워크 구성이 손상되었을 수도 있고, 방화벽이 사용자를 차단했을 수도 있고, Amazon이 계정과 VM을 종료했을 수도 있습니다. 이제 VM이 액세스할 수 없다는 사실만 알 수 있습니다. 관리 콘솔에서 단서를 확인하세요. 가상 머신이 실행 중인 것으로 보이지만 실행되지 않는 경우 Amazon 지원에 문의하세요.

관련 정보