2017-11-10 17 views
0

私はYoctoを実行しているラズベリーを持っています。 OS接続のプロキシ設定をセットアップするコードを作成しています。C++コードでプロキシ設定を設定

私が使用しているコンデの例は、同じコマンドは、それが動作ターミナルで私が入力した場合、コードで次の

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

ソリューションは、しかし、動作していないです。

何が問題なのですか?

+0

UNIXプロセスは、自身とその子に対してのみ環境変数を設定できます。あなたはスタートアップ/初期化スクリプトでプロキシを設定する必要があります –

答えて

0

何が問題になりますか?

system()は、サブプロセスを作成します。したがって、システムコールでhttp_proxy環境変数を変更しても、呼び出しプロセスには影響しません。

setenv()を使用して環境変数を変更し、次にfork()を使用して、新しいプロキシ設定で必要なことを行うために子プロセスを続行することがあります。

+0

ありがとう、私はあなたの答えを理解していますが、私はプログラムのセットを実行していると私は実行するソフトウェアのプロキシ設定を設定する必要があります。これを行う方法はありますか?プロキシをOSのグローバルパラメータとして設定しますか? – Ricardo

+0

@Ricardo IIRCこれをシステム全体で行うように設定できる設定があります(少なくともユーザセッションの再起動が必要です)。 YOCTOのために正確に何をするべきかわからない。 – user0042