Ret*_*Val 4 macos cocoa process terminate
如果我终止自己,只需使用它[NSApp terminate: nil],它的效果非常好.但是,如果我想终止另一个进程,例如活动监视器,我该怎么办?
为了获得进程列表,我使用了
NSArray* processlist = [[NSWorkspace sharedWorkspace] runningApplications];
Run Code Online (Sandbox Code Playgroud)
我对吗?但我怎么能由可可终止一个进程,不能使用kill或KillProcess(<#const ProcessSerialNumber *inProcess#>)或killpd或类似的,我刚开始学习可可,所以也许我需要一些简单的示例代码或一些关键字,可以帮助我找到的文件.谢谢您的帮助.
-[NSWorkspace runningApplications]返回一个NSRunningApplication对象数组. NSRunningApplication有一个方法-[NSRunningApplication terminate].因此,如果您正在寻找特定的应用程序,您可以像这样终止它:
-(void)killProcessesNamed:(NSString*)appName
{
for ( id app in [[NSWorkspace sharedWorkspace] runningApplications] )
{
if ( [appName isEqualToString:[[app executableURL] lastPathComponent]] )
{
[app terminate];
}
}
}
Run Code Online (Sandbox Code Playgroud)
您也可以调用forceTerminate强制应用程序退出而不进行正常的退出过程.(它不会要求保存更改等)
NSRunningApplication根据您是否正在搜索基于包ID或PID的进程,还可以使用其他方法使此过程更简单.
| 归档时间: |
|
| 查看次数: |
2378 次 |
| 最近记录: |