在OS X上退出应用程序/进程的有效方法

时间:2014-12-17 06:08:22

标签: objective-c xcode macos awk grep

哪个是在OS X上按应用名称退出应用的最佳方式?

我可以使用Apple脚本

NSString *scriptSource = [NSString stringWithFormat:@"tell application \"%@\" to quit",processName];
NSAppleScript *script = [[NSAppleScript alloc] initWithSource:scriptSource];
[script executeAndReturnError:nil];

否则我可以继续使用NSTask执行ps命令,执行grep和awk来检索进程的pid,然后使用pid退出进程,如下所示。

ps aux | grep -v grep |grep <process name> | awk '{print $2}'

在这种情况下,我最终使用NSTask 4次+ 1次来杀死进程。

哪种性能更高效?

1 个答案:

答案 0 :(得分:0)

将输出管道传输到xargs命令,如下所示。

ps aux | grep -v grep |grep <process name> | awk '{print $2}' | xargs kill

OR

ps aux | grep -v grep | awk '/process name/{print $2}' | xargs kill

这会杀死所有4个进程。