[java] 유닉스/리눅스 시스템 호출을 사용하여 프로세스 사이의 특정 신호를 전송하는 방법에 대해 알려주세요.

유닉스와 리눅스 운영 체제에서 프로세스는 다른 프로세스에게 신호를 보내어 특정한 동작을 유도할 수 있습니다. 이러한 기능은 시스템 호출을 사용하여 구현됩니다. 가장 일반적인 시스템 호출 중 하나는 kill입니다. kill 시스템 호출을 사용하여 특정 프로세스에게 시그널을 보낼 수 있습니다.

kill 시스템 호출을 사용하여 신호 보내기

public class SignalSender {
    public static void main(String[] args) {
        int pid = 12345; // 전송할 프로세스의 ID
        int signal = 15; // 보낼 신호 (예: SIGTERM)
        if (kill(pid, signal) == 0) {
            System.out.println("신호 전송 성공");
        } else {
            System.out.println("신호 전송 실패");
        }
    }
}

위의 예제에서 kill 시스템 호출을 사용하여 프로세스 ID가 12345인 프로세스에게 시그널 15(SIGTERM)을 보내는 방법을 보여줍니다.

주요 신호

유닉스/리눅스 시스템에서 사용되는 주요 신호에는 다음과 같은 것들이 있습니다.

이러한 신호들은 프로세스 간 통신이나 프로세스 제어에 사용됩니다.

위의 예제는 kill 시스템 호출을 사용하여 프로세스 사이에 특정 신호를 전송하는 방법에 대해 설명한 것입니다. 이것은 유닉스/리눅스 시스템 프로그래밍에서 매우 중요한 주제 중 하나입니다.

참고문헌: