2017-11-10 1 views
0

나는 Yocto를 실행하는 나무 딸기가 있습니다. OS 연결의 프록시 구성을 설정하는 코드를 작성 중입니다.C++ 코드에서 프록시 설정 구성

내가 사용하고있어 귀족의 예는 같은 명령이 작동 터미널에서 내가 입력하면 코드에서 다음

int main(void) 
{ 
    system("unset http_proxy"); 
    command = "export http_proxy=\"http://hostname.com\""; 
    system(command.c_str()); 
} 

이 솔루션은, 그러나, 작동하지 않는 것입니다.

무엇이 문제 일 수 있습니까?

+0

유닉스 프로세스는 자신과 그 자식에 대해서만 환경 변수를 설정할 수 있습니다. 시작/초기화 스크립트에서 프록시를 설정해야합니다. –

답변

0

무엇이 문제 일 수 있습니까?

system()은 하위 프로세스를 만듭니다. 따라서 시스템 호출로 http_proxy 환경 변수를 변경해도 호출 프로세스에는 영향을주지 않습니다.

setenv()fork()을 사용하여 환경 변수를 변경하고 새 프록시 설정에 필요한 모든 작업을 수행 할 수 있습니다.

+0

감사합니다. 귀하의 답변을 이해했지만 프로그램 집합이 실행 중이며 실행해야하는 것은 실행 소프트웨어의 프록시 설정을 지정하는 것입니다. 이것을 할 수있는 방법이 있습니까? 또는 OS를위한 전역 매개 변수로 프록시를 설정할 수 있습니까? – Ricardo

+0

@Ricardo IIRC이 시스템 전체를 수행하도록 설정할 수있는 구성이 있습니다 (최소한 사용자 세션을 다시 시작해야 함). YOCTO가 정확히 무엇을해야할지 모르겠습니다. – user0042