는 내가 필요로하는 것은 예를 들어/정지/등, 다시 시작API는
인가 특정 데몬이 실행되고 있는지 확인 시작, API의 일종 비록 리눅스 데몬을 제어 할 수있는 가능성이 리눅스 데몬을 제어하는 이 기능을 제공하는 모든 Linux 라이브러리?
는 내가 필요로하는 것은 예를 들어/정지/등, 다시 시작API는
인가 특정 데몬이 실행되고 있는지 확인 시작, API의 일종 비록 리눅스 데몬을 제어 할 수있는 가능성이 리눅스 데몬을 제어하는 이 기능을 제공하는 모든 Linux 라이브러리?
를 얻을 수 /etc/init.d/<daemon_name> start|stop|status
를 실행할 수 있습니다. 그러나 대부분의 데몬은 자신의 PID를 /var/run/
아래의 파일에 쓰고, 멈추려는 신호는 SIGTERM
을 받아 들여야하고, SIGHUP
시그널은 설정 파일을 재로드 (보통은 /etc/
)해야한다. 당신이 당신의 데몬 프로그램 mydprog
이 /var/run/mydprog.pid
해당 pid를 쓰는 일반적인 규칙을 채택 할 경우 다른 프로그램이 데몬 프로세스가 실행되고 있는지, 0 신호 kill(2)를 사용하여, 거기 PID를 읽고 확인할 수
알 수 있습니다. /proc/1234/
(1234는 데몬의 pid) 아래의 의사 파일에 액세스 할 수도 있습니다. 특히 /proc/1234/status
을 참조하십시오. 자세한 내용은 proc(5)을 참조하십시오.
데몬을 설계하여 답할 수도 있습니다. 일부 unix(7) 또는 tcp(7) 소켓에서 일부 JSONRPC 프로토콜을 사용하여 상태 정보를 제공하여 일부 쿼리를 처리 할 수 있습니다. 일부 HTTP 프로토콜을 libonion과 같은 일부 HTTP 서버 라이브러리 또는 다른 메시지 전달 또는 원격 프로 시저 호출 프로토콜을 사용하여 고려할 수 있습니다.
시스템을 사용하는 것이 더 나은 방법이되기를 바랐습니다 ("..."). 그렇다면 리눅스 일반 API는 없습니까? – cpl
POSIX 신호를 사용하여 데몬을 중지 할 수는 있지만 데몬 제어 API에 가까워 질 것으로 생각합니다. – Sibster