3

NSTaskを使用してシェルスクリプトを実行していますが、問題は、シェルスクリプトがcontrol+cを押すまで実行され続けるスクリプトの1つであるということです。正常に起動しますが、私のMacアプリケーションはそれが終了するのを待つだけです。タスクをMacアプリケーションから切り離し、バックグラウンドで実行するようにするにはどうすればよいですか。

4

1 に答える 1

2

タスクを同期的に呼び出しwaitUntilExitたり実行したりしないでください。タスクに大量の出力がある場合は、データを読み取って処理するようにしてください。そうしないと、i/o バッファーがいっぱいになり、ブロックされます。

一般に、デーモンのような操作に NSTask を使用するべきではありません。launchd を使用する必要があります。

于 2011-07-19T17:06:06.667 に答える