20得票2回答
NSTask的实时输出

我有一个包含多个sleep()命令的PHP脚本。我想在我的应用程序中使用NSTask来执行它。我的脚本看起来像这样:echo "first\n"; sleep(1); echo "second\n"; sleep(1); echo "third\n"; 我可以使用通知异步执行我的任务:- (v...

18得票1回答
使用NSTask在Objective-C的Cocoa中执行Shell命令

我已经搜索了数天数小时,看到了很多这方面的例子,但是不能理解 NSTask 的工作原理。比如说我想执行命令 killall Dock 或者 defaults write com.apple.Finder AppleShowAllFiles YES ,我应该怎么做呢? 我知道如何执行外部 sh...

18得票4回答
PHP CLI不使用stderr来输出错误信息。

我正在MacOS中通过NSTask运行PHP CLI,但这个问题更多涉及CLI本身。 我正在监听stderr管道,但无论我尝试运行什么文件,都不会在那里输出任何内容: 如果文件类型不是纯文本,stdout设置为?。 如果该文件是具有错误的php脚本,则错误消息仍将打印到stdout。 ...

15得票2回答
从NSTask获取数据 - 与命令行通信 - Objective-C

我知道如何向任务发送数据:NSData *charlieSendData = [[charlieImputText stringValue] dataUsingEncoding:NSUTF8StringEncoding]; [[[task standardInput] fileHandleFo...

14得票3回答
使用waitUntilExit导致NSTask进程挂起

我需要同步使用NSTask,但是我发现有时我的任务在'waitUntilExit'命令下会挂起。我想知道是否有一种优雅的方式-错误处理方法-来终止挂起的任务,以便我可以重新启动另一个任务?

13得票4回答
使用Swift实现将NSTask的实时输出显示在NSTextView中

我正在使用NSTask来运行rsync,我希望状态可以显示在窗口内的滚动视图中的文本视图中。目前我有以下代码:let pipe = NSPipe() task2.standardOutput = pipe task2.launch() let data = pipe.fileHandleFo...

13得票1回答
NSTask / Process方法和属性已被弃用。

最近的苹果文档中,无论是 NSTask 还是 Process ,都有几个被弃用的方法和属性,尽管没有标记为API Availability Macro。 实例属性@property(copy) NSString *launchPath; @property(copy) NSString *c...

13得票5回答
NSTask无法从用户环境中获取$PATH变量

我不知道为什么这个方法返回一个空字符串:- (NSString *)installedGitLocation { NSString *launchPath = @"/usr/bin/which"; // Set up the task NSTask *task = [...

12得票2回答
使用NSTask运行shell脚本导致posix_spawn错误

我正在尝试使用以下代码通过NSTask运行一个shell脚本:NSTask *task = [[NSTask alloc] init]; [task setLaunchPath:@"/Users/username/connect.sh"]; [task launch]; 但我遇到了未捕获的异常...

11得票5回答
如何使用NSTask作为root用户?

我正在开发一个应用程序,需要使用NSTask以root权限运行以下命令(用户将被提示三次确认,并被要求卸载他们的驱动器):/bin/rm -rf / #Yes, really 问题在于简单地使用“替代用户执行”(sudo)无法正常工作,因为用户需要输入密码到不可用的标准输入。我更希望向用户显示...