: 어쩔수없이...
:
: server프로그램 (C언어로 작성)
: 설정(GUI)프로그램을 따로 컴파일 (QT..즉 C++로 작성)
: 하였습니다..
:
: 설정프로그램에서 kill로 server의 pid를 알면 죽일수있는건 아는데.
: pid를 어떻게 알아내죠?
:
: c++에서 코드상에서..server프로그램 프로세서를 띄울수있나요?
:
: 설정프로그램에서 시작을 눌르면..server가 동작하고..
: stop을 눌르면..죽는겁니다..^^;;
:
: 감사합니다..^^ :)
:
: --
: PowerBook Ti
fork를 사용해서 서버를 가동한다면 그냥 pid를 알수 있겠지만,
컴파일을 따로한 독립적인 프로그램이라면....
서버가 유일하게 하나만 동작하는 데몬이라고 할 때,
서버프로그램에서 /var/run/server.pid 정도 되는 파일을 생성해서,
getpid()로 알아낸 Pid를 기록해 두고,
클라이언트에서 서버를 죽일때 그파일을 참조해서 종료시키는 방법과
아니면 직접 /proc 디렉토리를 열어서 각 프로세스 들의 정보를
검색하여서 pid를 알아내서 kill로 시그널을 주면 해결 할수 있습니다.
(이름으로 비교 하겠죠? 참고로 /proc 밑에 있는 숫자가
시스템에서 동작중인 프로세서의 번호이고 그 디렉토리 안에
각 프로세스 들의 세부 정보들이들어 있습니다.
이걸 참조하면 프로세스 이름으로 Pid들 알아낼수 있습니다.
man proc 해보시면 자세한 내용이 있습니다.)--어렵지 않으니깐 해보세요.
(정답은 아니지만 참고하시라고)