API는

2012-04-06 4 views
0

는 내가 필요로하는 것은 예를 들어/정지/등, 다시 시작API는

인가 특정 데몬이 실행되고 있는지 확인 시작, API의 일종 비록 리눅스 데몬을 제어 할 수있는 가능성이 리눅스 데몬을 제어하는 이 기능을 제공하는 모든 Linux 라이브러리?

답변

0

짧은 대답은 없습니다.
일부 데몬에는 api가 있지만 해당 데몬에만 해당됩니다.
중지를 시작하거나 상태를 또한 D-Bus 또는 SNMP 사용할 수있는 대부분의 데몬

+0

시스템을 사용하는 것이 더 나은 방법이되기를 바랐습니다 ("..."). 그렇다면 리눅스 일반 API는 없습니까? – cpl

+1

POSIX 신호를 사용하여 데몬을 중지 할 수는 있지만 데몬 제어 API에 가까워 질 것으로 생각합니다. – Sibster

1

를 얻을 수 /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 서버 라이브러리 또는 다른 메시지 전달 또는 원격 프로 시저 호출 프로토콜을 사용하여 고려할 수 있습니다.