你们知道如何从你的GUI应用程序运行终端命令吗?我需要为我的应用程序编码。例如,如果我在终端中键入“netstat”,它将为我提供所有端口。我希望从我的xcode应用程序中获取此信息。那可能吗?顺便说一句,它不仅仅是“netstat”命令,它可能是“sudo ....”
谢谢, 凯文
答案 0 :(得分: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)并将输出记录在临时文件
中答案 1 :(得分:1)
如果您愿意下载到C,则可以使用system()
功能。当然,这将打印命令的结果。如果要存储命令的结果,则可能需要使用管道。
答案 2 :(得分:1)
看看NSTask是否有类似Cocoa的方法。