우분투 서버에서 중단 된 명령을 중단하는 방법은 무엇입니까?


답변:


21

CTRL+CSIGINT응용 프로그램으로 보내드립니다 . 응용 프로그램은이 신호에 대한 처리기를 구성하거나 신호를 무시할 수 있습니다. 기본적으로 처리기가 없으며 SIGINT응용 프로그램을 종료합니다.

CTRL+\을 보내서 사용할 수 있습니다 SIGQUIT. 코어 한계가 0이 아닌 경우 코어 덤프도 생성됩니다.

을 사용하여 프로세스를 일시 중단하고 셸로 돌아갈 수 있습니다. 그러면 프로세스 실행 CTRL+Z중지 되고 셸 프롬프트로 돌아갑니다. 프로세스는 메모리에 있으며 현재 쉘에서 작업으로 사용 가능합니다. 그런 다음 kill -SIGNAL %%또는 kill -SIGNAL %<job_ID>을 사용 하여 해당 작업에 신호를 보낼 수 있습니다 . 예를 들어 마지막 작업 사용을 중지kill -9 %%

그들 중 어느 것도 작동하지 않으면 항상 SIGTERM최후의 수단으로을 보내어 SIGKILL프로세스를 종료합니다. 다른 신호와 같은이 신호는 중지하려는 프로세스와 동일한 사용자 또는 루트로 전송되어야합니다. SIGKILL프로세스로 보내려면 먼저 ps aux또는로 프로세스를 ps -edf찾은 다음를 실행하십시오 kill -SIGKILL <process_ID>. 여기서는 출력 <process_ID>PID열입니다 ps.

프로세스가 중단없이 호출되는 경우 신호를 전달할 수 없습니다. 무정전 호출은 중지 할 수없는 커널 기능이며 일반적으로 잘못된 드라이버 (예 : 재진입 되지 않은 드라이버)로 인해 발생 합니다 . 호출이 완료되거나 서버가 재부트 될 때까지 인터럽트 불가능 휴면 상태 인 프로세스를 중지 할 수 없습니다.

프로세스가 좀비 가되면 프로세스 테이블에서 공간을 차지하는 리소스 만 사용하지 않습니다. 좀비 프로세스는 신호를 수신 할 수 없습니다.

현재 아키텍처에 대한 신호 목록은 kill -l

의 매뉴얼 페이지를 참조하십시오 kill, ps하고 bash. 매뉴얼 페이지를 보려면 다음과 같이 사용하십시오.man ps


2

당신은 전체 콘솔 액세스 할 수있는 경우, 당신은 할 수 Alt- F1..12새로운 콘솔을 얻는다.

여기에서 다음과 같은 프로세스 리스팅을 수행 할 수 있습니다.

ps aux | grep <process-name>

그런 다음 kill프로세스 ID를 수행하십시오.

kill -9 <pid>

완전한 콘솔 액세스 권한이없는 경우 다른 터미널 창 (아마 PuTTY 또는 유사 항목을 통해)을 열고 위의 프로세스 목록 및 종료 단계를 수행하십시오.


1

Ctrl C는 실행중인 프로세스에 SIGINT를 보냅니다. 다른 콘솔을 열지 않으려면 Ctrl \를 사용하여 SIGQUIT를 보낼 수 있습니다. 이것은 SIGINT가 지원하지 않는 대부분의 매일 중단 된 앱을 처리합니다.

나는 개인적으로 지름길로 SIGKILL을 보내는 방법을 원했지만 그렇게 할 방법을 모른다.


1

내가 생각 pgrep하고 pkill보다 쉽게 사용할 수 kill명시 적 프로세스 ID와.

또한 신호 9 (SIGKILL)로 시작하는 대신 기본 SIGTERM (15)으로 시작하는 것을 고려하십시오. 이렇게하면 프로세스가 정상적으로 종료 될 수 있습니다 (가능한 경우). pkill -15 thing그리고 pkill thing동등해야합니다.

그게 어떻게 작동할까요? ntpd가 중단되었다고 가정 해 봅시다.

프로세스는 무엇입니까? 오 탐지가 없다고 판단되면 pkill로 건너 뛸 수 있습니다.

$ pgrep -fl ntp
1034 /usr/sbin/ntpd
1037 /usr/sbin/ntpd

프로세스를 종료하십시오.

$ pkill ntpd

사용 pgrep이 성공적 있는지 다시.

그렇지 않으면 결국으로 이동하십시오 pkill -9.


0

새 터미널로 전환하고 멈춤 프로세스의 PID를 찾은 ps다음 (을 사용하여 ) 프로세스 를 종료하는 kill데 사용 합니다. 나는 먼저 사용할 kill (PID)것이다. 그래도 작동하지 않으면을 사용 kill -9 (PID)합니다. 그래도 프로세스가 중지되지 않으면 컴퓨터를 재부팅해야합니다.


0

Cntrl+ \나를 위해 일했다 ( Cntrl+ c또는 z작동하지 않은 곳 )

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.