0

以下の C++ コードを使用してスクリプトを呼び出しています

 system("chmod 777 script");
 system("./script");  
 .
 .
 .
 test = new asebt::TestFactory();

スクリプトが完全に実行されるまで、オブジェクト TestFactory() がインスタンス化されないようにする必要があります。このスクリプトが既に実行されているかどうかを確認するにはどうすればよいですか?

ありがとう

4

2 に答える 2

0

通常、system()関数の (整数) 戻り値は、呼び出されたコマンドのステータス コードです。関数が戻るまで実行は停止するsystem()ため、スクリプトは常に、後の行が実行される前に実行を終了します。

于 2013-05-06T18:37:00.980 に答える
0

呼び出しが戻ると、スクリプトは完全に実行されていますsystem(待機せずに別のサブプロセスをバックグラウンド化しない限り)。systemそのように完全に同期しています。

于 2013-05-06T18:38:18.073 に答える