0

そのため、システム上の既知の名前とパスのアプリケーションをオンデマンドで実行する必要があるシステムを設計しています。実行するアプリケーションはテキストベースのアプリケーションで、呼び出して簡単に実行できます。system("./xxx")

しかし、ここに私の懸念があります.Objective-Cでそれを行うより良い方法はありますか? たとえば、プロセスが実行された後にプロセスに関する追加情報を取得し、場合によってはプロセスを終了するか、時間を計るには?

そのシステム関数を呼び出すだけでなく、どのクラスと考えを使用できますか?

4

1 に答える 1

1

NSTaskを参照してください。

ただし、IPC を行う必要がある場合は、XPCサービスをお勧めします。


タスクの時間を計りたい場合は、次のようにします。

 NSDate *startDate = [NSDate date];

 ... run the task ...

 NSDate *endDate = [NSDate date];

次に、(NSDate のメソッドを使用して) 少し日付を計算して、経過時間を計算できます。実際、これをNSTimeIntervals で行う方が簡単です。それらはエポックからの秒数を表す単なる浮動小数点数であり、後者から前者を引くと、経過時間が得られます。

もちろん、バックグラウンドでタスクを実行している場合は、ivar などで日付/時間間隔を開始する必要があります。

于 2013-06-29T17:26:51.670 に答える