0

アップデータ アプリケーションで新しいバージョンのアプリケーションを起動し、終了できるようにしたいと考えています。

「システム」経由で新しいアプリケーションを呼び出す「通常」を試してみると、アップデーターが終了しません。

考え?

4

3 に答える 3

0

別のプロセスを作成して実行する Windows の CreateProcess の行に沿ったものが必要になります。呼び出しは、入力したコマンドが終了するのsystemを待ってから戻ります。

于 2011-06-06T20:04:17.393 に答える
0

Windows ではCreateProcessを調べ、Unix ではexecを調べます。マクロを使用して、OS 固有のコードのラッパーを作成します。

于 2011-06-06T19:02:11.643 に答える
0

関数の exec ファミリは、現在のプロセスを新しいプロセスに置き換えます。フォーク後に子から呼び出されない場合、これによりプログラムが新しいものに置き換えられます。

システムは fork を呼び出し、子でシェルを実行し、その戻りを待ちます。これが、アップデーターが終了しない理由です。

man 3 exec および man 3 system を参照してください。

于 2011-06-06T19:01:29.323 に答える