从GUI应用程序运行终端命令?
问题描述:
你们知道如何从你的GUI应用程序运行终端命令吗?我需要为我的应用编码。例如,如果我在终端输入“netstat”,它会给我所有的端口。我想从我的Xcode应用程序。那可能吗? BTW它不只是在“netstat的”命令,它可能是“命令......”从GUI应用程序运行终端命令?
感谢, 凯文
答
下面是我刚刚在使用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()
功能。当然,这会打印命令的结果。如果你想存储命令的结果,你可能会想要使用管道。