답변:
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
당신은 전체 콘솔 액세스 할 수있는 경우, 당신은 할 수 Alt- F1..12새로운 콘솔을 얻는다.
여기에서 다음과 같은 프로세스 리스팅을 수행 할 수 있습니다.
ps aux | grep <process-name>
그런 다음 kill
프로세스 ID를 수행하십시오.
kill -9 <pid>
완전한 콘솔 액세스 권한이없는 경우 다른 터미널 창 (아마 PuTTY 또는 유사 항목을 통해)을 열고 위의 프로세스 목록 및 종료 단계를 수행하십시오.
내가 생각 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
.