2

你们知道如何从 GUI 应用程序运行终端命令吗?我需要我的应用程序的编码。例如,如果我在终端中输入“netstat”,它会给我所有的端口。我想从我的 xcode 应用程序中获得这个。那可能吗?顺便说一句,它不仅仅是“netstat”命令,它可能是“sudo....”

谢谢,凯文

4

3 回答 3

3

这是我刚刚在使用 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)并将输出记录在一个临时文件中

于 2009-08-19T04:37:56.417 回答
1

如果您愿意下降到 C,您可以使用该system()功能。当然,这将打印命令的结果。如果要存储命令的结果,可能需要使用管道。

于 2009-08-19T04:27:06.063 回答
1

查看NSTask以了解更多类似 Cocoa 的方法。

于 2009-08-19T04:34:55.033 回答