목차
1. os.kill 함수란?
os.kill()
함수는 지정된 프로세스에 시그널(signal)을 보내는 함수입니다. 주로 다른 프로세스를 종료하거나 제어할 때 사용됩니다.
2. os.kill 함수 인자 및 반환 값 설명
os.kill()
함수는 두 개의 인자를 받습니다. 첫 번째 인자는 종료하려는 프로세스의 PID(프로세스 식별 번호)이며, 두 번째 인자는 보낼 시그널(signal) 번호입니다. 반환 값은 없습니다.
os.kill(pid, signal)
pid
(프로세스 식별 번호)
pid
는 종료하려는 프로세스의 PID(프로세스 식별 번호)를 나타내는 정수값입니다. PID는 각 프로세스가 운영체제에서 고유하게 부여받는 번호로, 이를 통해 특정 프로세스를 식별하고 제어할 수 있습니다.
signal
(시그널 번호)
signal
은 보낼 시그널(signal)의 종류를 나타내는 값입니다. 시그널은 프로세스에게 특정 이벤트나 작업을 알리기 위해 사용됩니다. 예를 들어, signal.SIGTERM
은 일반적으로 프로세스에게 정상적인 종료를 요청하는 시그널이며, signal.SIGKILL
은 해당 프로세스를 즉시 강제 종료시키는 시그널입니다.
보통 사용되는 시그널 종류는 다양하며, 각 시그널은 특정한 의미와 동작을 가지고 있습니다. Python의 signal
모듈에는 다양한 시그널 상수가 정의되어 있어서 이를 활용할 수 있습니다.
반환 값
os.kill()
함수는 시그널을 보내기만 하고 결과로 반환되는 값은 없습니다. 함수가 호출되면 해당 시그널이 프로세스로 전달되며, 해당 프로세스의 동작이 그에 맞게 변경될 수 있습니다.
따라서, os.kill()
함수의 반환 값은 None입니다.
3. os.kill 간단한 사용 예제
아래는 간단한 os.kill()
함수 사용 예제입니다.아래 12345는 임시 pid값입니다. 실제 pid값을 찾아 대입해주세요. 아래 포스팅에서는 다른 터미널에서 sleep명령을 실행하고 해당 pid를 찾아 대입하였습니다.
import os
import signal
# 종료할 프로세스의 PID
pid = 12345
# SIGTERM 시그널을 보내어 프로세스 종료
os.kill(pid, signal.SIGTERM)
4. 다른 프로세스 pid를 입력받아 강제 종료 예제
다음은 os.kill()
함수를 사용하여 다른 프로세스 pid를 입력받아 강제로 종료하는 예제입니다.
import os
import signal
def kill_process():
pid = int(input("종료할 프로세스의 PID를 입력하세요: "))
os.kill(pid, signal.SIGTERM)
print(f"프로세스 {pid}가 종료되었습니다.")
kill_process()