所以我基本上只想知道何時啓動和關閉外部應用程序。驗證程序是否仍在運行PID? GetProcessForPID失敗
現在我只是運行一個循環,檢查此:
- (BOOL)isRunning:(int)AppPid{
ProcessSerialNumber psn = { kNoProcess, kNoProcess };
OSStatus err = GetProcessForPID(AppPid, &psn);
if (err != noErr){
NSLog(@"Error %d", err);
return NO;
}
return YES;
}
我遇到的問題是,如果我把這個功能太多了(可以說在第二50次),它最終會失敗,並說這個過程沒有運行,實際上是這樣。
這可能每10分鐘發生一次,或者連續5次發生,這是不可預測的。
我的問題 - 有沒有另一種簡單的方法通過Cocoa/Objective-C來確定一個進程是否正在運行(不涉及調用ps的系統任務,因爲每秒50次不是智能)?
我假設提交者希望範圍是其他進程,而不僅僅是應用程序。 –