ê°ìí ëì ! ë¹ì¸ìì? 모르ë ì리
차례:
Linux는 훌륭한 고급 운영 체제이지만 완벽하지는 않습니다. 가끔, 일부 응용 프로그램이 비정상적으로 작동하기 시작하고 응답하지 않거나 많은 시스템 리소스를 사용하기 시작할 수 있습니다. 원래 응용 프로그램 프로세스가 완전히 종료되지 않으므로 응답하지 않는 응용 프로그램을 다시 시작할 수 없습니다. 유일한 해결책은 시스템을 다시 시작하거나 응용 프로그램 프로세스를 종료하는 것입니다.
가장 일반적으로 사용되는 프로세스를 종료하여 잘못된 프로세스를 종료 할 수있는 몇 가지 유틸리티가 있습니다.
kill
명령
kill
은 Bash 및 Zsh와 같은 대부분의 Bourne 파생 쉘에 내장 된 쉘입니다. 셸과 독립 실행 형
/bin/kill
실행 파일의 명령 동작은 약간 다릅니다.
type
명령을 사용하여
kill
: 포함하는 시스템의 모든 위치를 표시하십시오.
type -a kill
kill is a shell builtin kill is /bin/kill
위의 결과는 쉘 내장이 독립형 실행 파일보다 우선 순위를 가지며
kill
을 입력 할 때마다 사용된다는 것을 나타냅니다. 바이너리를 사용하려면
/bin/kill
파일의 전체 경로를 입력하십시오. Bash 내장을 사용합니다.
kill
명령의 구문은 다음과 같은 형식입니다.
kill…
kill
명령은 지정된 프로세스 또는 프로세스 그룹에 신호를 보내 신호에 따라 작동합니다. 신호가 지정되지 않은 경우 기본값은
-15
(-TERM)입니다.
가장 일반적으로 사용되는 신호는 다음과 같습니다.
-
1
(HUP
)-프로세스를 다시로드하십시오.9
(KILL
)-프로세스를 종료합니다.15
(TERM
)-프로세스를 정상적으로 중지합니다.
사용 가능한 모든 신호 목록을 얻으려면
-l
옵션과 함께 명령을 호출하십시오.
kill -l
신호는 세 가지 방법으로 지정할 수 있습니다.
- 숫자 사용 (예:
-1
또는-s 1
). "SIG"접두사 사용 (예:-SIGHUP
또는-s SIGHUP
) "SIG"접두사없이 (예:-HUP
또는-s HUP
)
다음 명령은 서로 동일합니다.
kill -1 PID_NUMBER
kill -SIGHUP PID_NUMBER
kill -HUP PID_NUMBER
kill
명령에 제공된 PID는 다음 중 하나 일 수 있습니다.
-
PID
가 0보다 크면 신호는 ID가PID
와 동일한 프로세스로 전송되고PID
가 0이면 신호는 현재 프로세스 그룹의 모든 프로세스로 전송됩니다. 즉, 신호는kill
명령을 호출 한 쉘의 GID에 속하는 모든 프로세스로 전송됩니다.ps -efj
명령을 사용하여 프로세스 그룹 ID (GID)를 봅니다.PID
가-1
과 같으면 명령을 호출 한 사용자와 동일한 UID를 가진 모든 프로세스에 신호가 전송됩니다. 호출하는 사용자가 루트 인 경우 신호는 init 및kill
프로세스 자체를 제외한 모든 프로세스로 전송됩니다.PID가-1
미만인 경우 신호는 프로세스 그룹 eq의 모든 프로세스로 전송됩니다.PID
일반 사용자는 자신의 프로세스에 신호를 보낼 수 있지만 다른 사용자의 프로세스에는 신호를 보낼 수 없지만 루트 사용자는 다른 사용자의 프로세스에 신호를 보낼 수 있습니다.
kill
명령을 사용하여 프로세스 종료
kill
명령으로 프로세스를 종료하거나 종료하려면 먼저 프로세스 ID 번호 (PID)를 찾아야합니다.
top
,
ps
,
pidof
및
pgrep
와 같은 다른 명령을 사용하여이 작업을 수행 할 수 있습니다.
Firefox 브라우저가 응답하지 않아 Firefox 프로세스를 종료해야한다고 가정 해 봅시다. 브라우저 PID를 찾으려면
pidof
명령을 사용하십시오.
pidof firefox
이 명령은 모든 Firefox 프로세스의 ID를 인쇄합니다.
6263 6199 6142 6076
프로세스 번호를 알면
TERM
신호를 전송하여 모든 프로세스 번호를 종료 할 수 있습니다.
kill -9 2551 2514 1963 1856 1771
PID를 검색 한 다음 프로세스를 종료하는 대신 위의 명령을 하나로 결합 할 수 있습니다.
kill
명령을 사용하여 프로세스 재로드
kill
또 다른 일반적인 사용 사례는 프로세스에 설정을 다시로드하도록 지시하는
HUP
신호를 보내는 것입니다.
예를 들어 Nginx를 다시로드하려면 마스터 프로세스로 신호를 보내야합니다. Nginx 마스터 프로세스의 프로세스 ID는 일반적으로
/var/run
디렉토리에있는
nginx.pid
파일에서 찾을 수 있습니다.
cat
명령을 사용하여 마스터 PID를 찾으십시오.
cat /var/run/nginx.pid
30251
마스터 PID를 찾았 으면 다음을 입력하여 Nginx 설정을 다시로드하십시오.
sudo kill -1 30251
위의 명령은 sudo 권한을 가진 루트 또는 사용자로 실행해야합니다.
결론
kill
명령은 프로세스에 신호를 보내는 데 사용됩니다. 가장 자주 사용되는 신호는
SIGKILL
또는
-9
, 주어진 프로세스를 종료합니다.
마이크로 소프트와 베스트 바이는 리눅스에서 강탈한다

당신은 '안티 리눅스'라고 말하면, 나는 '프로 윈도우'라고 말한다. 당신은 'Linux bashing'이라고 말하면서 '마케팅'이라고 말합니다.
리눅스에서 부팅 가능한 데비안 10 USB 스틱 만들기

이 튜토리얼에서는`dd` 명령을 사용하여 Linux 터미널에서 부팅 가능한 데비안 10 (버스터) USB 스틱을 만드는 방법을 설명합니다.
리눅스에서 파일의 권한을 재귀 적으로 변경하는 방법

Linux는 다중 사용자 시스템이며 파일에 대한 액세스는 파일 권한, 속성 및 소유권을 통해 제어됩니다. 이 기사에서는 파일 및 디렉토리의 권한을 재귀 적으로 변경하는 방법에 대해 설명합니다.