libcurlをWebサーバーに2回要求するbashスクリプトを実現する必要があります。複数の実行可能ファイルのlibcurlとcurl_global_init()
スクリプトは、この構造を有する:
プログラムは、次の条件を満たす必要があります。私が読んlibcurl documentationから
#include <curl/curl.h> int main(int argc, char *argv[]){ ... curl_global_init(CURL_GLOBAL_DEFAULT); curl = curl_easy_init(); if(curl) { curl_easy_setopt(various settings...); res = curl_easy_perform(curl); if(res != CURLE_OK) { //do something... } else { //handle error... } } curl_easy_cleanup(curl); curl_global_cleanup(); }
:
while : do ./callA sleep(50) ./callB sleep(10) done
CALLAとcallBのバイナリコードは、このような構造を持っていますlibcurl機能のいくつかをグローバルに初期化します。つまり、ライブラリを何回使用するかにかかわらず、一度だけ実行する必要があります。あなたのプログラムの生涯にわたって一度。これは、「プログラムの全ライフタイム」とは、例えば、私は2つの別々の実行可能プログラムでのlibcurlを使用する場合、私は一度宣言するとにかくを有していることを意味する場合、それは、私にとっては、明確ではないcurl_global_init()
を使用して行われます別のファイルで初期化子として扱われます。代わりに、私はcallAソースコードとcallBの両方で定義する必要があります。あなたのケースCALLAとcallBで