【发布时间】:2014-12-17 06:08:22
【问题描述】:
在 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 次以上来终止进程。
在性能方面哪个更有效?
【问题讨论】:
-
killall呢? -
发布
ps aux | grep -v grep |grep <process name>的输出 -
此
ps aux | grep -v grep |grep <process name> | awk '{print $2}'可以缩短为:ps aux | awk '/[p]rocess name/ {print $2}'删除两个grep。在进程名称的第一个字母周围使用[],从输出中删除grep搜索。
标签: objective-c xcode macos awk grep