멀티 채팅프로그램을 만들고 있습니다.
서버가 있고 여러개의 클라이언트들이 서버에 접속하여 1:1로 채팅을 할 수 있는 프로그램입니다.
접속한 클라이언트간 채팅방이 만들어져
1:1로 채팅을 시작하게 되면,
각각의 클라이언트는 fork를 통해 두 개의 프로세스로 나누어 집니다.
부모 프로세스는 사용자로부터 입력한 내용을 서버로 write하는 역할을,
자식 프로세서는 서버를 통하여 건너온 상대 클라이언트의 메세지를 read하여 화면에 출력하는 역할을 합니다.
여기서 제가 구현하고 싶은 기능은
두 클라이언트 중 어느 한명이라도 quit을 입력하면
둘 다 채팅방에서 나가게 되는 기능을 하고 싶은데요.
quit을 입력한 클라이언트 같은 경우,
부모 프로세스가 자식프로세스를 kill하면서 프로그램을 종료시킬 수가 있는데요.
상대 클라이언트의 경우, 자식이 상대방의 메세지를 확인하기 때문에 부모를 kill 할 수가 없는 상황입니다.
getppid() 함수를 이용하여 부모의 pid를 받아와