문제

그래서 저는 셀룰러 모뎀을 사용하여 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.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top