네트워크 상태 확인 및 프로그램에서 PPP 제어
-
09-06-2019 - |
문제
그래서 저는 셀룰러 모뎀을 사용하여 Linux에서 PPP를 실행하고 있습니다.내가 작성 중인 프로그램은 데이터를 보내기 전에 링크가 활성화되어 있는지 알아야 합니다.
확인할 수 있는 옵션은 무엇입니까?
- 링크를 사용할 수 있는 경우
- 내가 제어하는 서버로 라우팅되는 경우(앞서 말한 것처럼 인터넷으로 연결되지 않음)
또한 다시 시작하는 가장 좋은 방법은 무엇입니까? 프로그램이 시작되고 중지될 때 프로그램을 제어하고 싶기 때문에 init.d가 적절하지 않다고 가정합니다.사용 system()
PID를 제공하지 않는 것 같습니다. 그 외에 다른 옵션이 있나요? fork()
그리고 낄낄거리는 소리 exec??()
전화?
ARM 기반 Linux의 C(buildroot를 사용한 사용자 정의 배포).
해결책
당신은 사용할 수 있습니다 ip-up
IP 인터페이스가 작동되고 준비되었을 때 프로그램을 실행하도록 하는 pppd의 스크립트 기능입니다.자세한 내용은 pppd(8) 매뉴얼 페이지 - "ip-up"을 검색하세요.
pppd를 다시 시작하려면 다음을 사용하십시오. linkname
알려진 pidfile 이름을 설정하는 매개변수(/var/run/ppp-name.pid
).또한 persist
옵션.pppd를 다시 시작하려면 다음을 보내십시오. SIGHUP
신호.다시 말하지만, 이에 대해서는 매뉴얼 페이지에 설명되어 있습니다.
다른 팁
당신은 파싱 할 수 있습니다 /proc/net/route
.
제휴하지 않습니다 StackOverflow