你们知道如何从 GUI 应用程序运行终端命令吗?我需要我的应用程序的编码。例如,如果我在终端中输入“netstat”,它会给我所有的端口。我想从我的 xcode 应用程序中获得这个。那可能吗?顺便说一句,它不仅仅是“netstat”命令,它可能是“sudo....”
谢谢,凯文
这是我刚刚在使用 NSTask 的应用程序中截取的一些代码。
NSTask* task = [[[NSTask alloc] init] autorelease];
[task setLaunchPath: @"/usr/bin/java"];
NSArray* args = [NSArray arrayWithObjects: @"-jar", jar, @"--cue", inp, @"--dir", dir, mp3, nil];
[task setArguments: args];
taskOutputFile = [[self createTmpFile] retain];
NSFileHandle* taskOutput = [NSFileHandle fileHandleForWritingAtPath:taskOutputFile];
[task setStandardOutput: taskOutput];
[task launch];
这将启动一个应用程序(java)并将输出记录在一个临时文件中
如果您愿意下降到 C,您可以使用该system()
功能。当然,这将打印命令的结果。如果要存储命令的结果,可能需要使用管道。
查看NSTask以了解更多类似 Cocoa 的方法。