gpt4 book ai didi

cocoa - 使用 waitUntilExit 挂起 NSTask

转载 作者:行者123 更新时间:2023-12-03 16:04:30 27 4
gpt4 key购买 nike

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

最佳答案

请注意,如果通过 NSTask 运行的任务填满了输出管道,则进程将挂起,从而有效地阻止 waitUntilExit 返回。

您可以通过调用来防止这种情况

[task.standardOutput.fileHandleForReading readDataToEndOfFile];

打电话之前

[task waitUntilExit];

这将导致读取输出管道的数据,直到写入输出管道的进程将其关闭。

演示问题和各种解决方案的示例代码:

https://github.com/lroathe/PipeTest

关于cocoa - 使用 waitUntilExit 挂起 NSTask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33423993/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com