Objective c 目标C-NSTask支持
我正在编写一个高级可执行(二进制)分析器应用程序,它可以对Mach-O二进制文件执行许多操作。其中一个函数是一个简单的启动操作,可以简单地执行可执行文件并记录其输出。 我最近发现,当终端启动可执行文件时,它会检测可执行文件何时在其代码中运行自己的NSTask 例如。 终端正在执行我的应用程序,并且(在红色圆圈中)显示我的应用程序当前正在运行“file”命令的NSTask: 我想弄清楚的是,如何让我的应用程序对其他可执行文件执行此操作。我希望我的应用程序启动一个可执行文件,当该可执行文件运行shell脚本(NSTask)时,我的应用程序将检测它并记录它 例如。 可执行文件具有以下代码:Objective c 目标C-NSTask支持,objective-c,shell,executable,nstask,Objective C,Shell,Executable,Nstask,我正在编写一个高级可执行(二进制)分析器应用程序,它可以对Mach-O二进制文件执行许多操作。其中一个函数是一个简单的启动操作,可以简单地执行可执行文件并记录其输出。 我最近发现,当终端启动可执行文件时,它会检测可执行文件何时在其代码中运行自己的NSTask 例如。 终端正在执行我的应用程序,并且(在红色圆圈中)显示我的应用程序当前正在运行“file”命令的NSTask: 我想弄清楚的是,如何让我的应用程序对其他可执行文件执行此操作。我希望我的应用程序启动一个可执行文件,当该可执行文件运行she
int main(int argc, const char * argv[]) {
NSTask *task = [NSTask new];
task.launchPath = @"/usr/bin/file";
task.arguments = @[@"--mime", @"--brief", @"/path/to/file"];
task.standardOutput = [NSPipe new];
[task launch];
return 0;
}
当我在终端执行此操作时,一旦
[task launch];
执行时,终端将在标题栏中显示子进程名称:
我想让我的应用程序像终端一样执行一个可执行文件,当一个可执行文件运行自己的NSTask时,我想让我的应用程序检测并记录它
所以当我的应用程序运行这个可执行文件时。我想让我的应用程序检测可执行文件中何时执行“文件”任务
我希望这不难理解。我也有一种感觉,我必须比NSTask更深入地挖掘,才能包括这个过程
谢谢。这与活动监视器的分层过程列表相同吗?也许这有帮助。