nspipe

    6熱度

    2回答

    我正在編寫一個Cocoa應用程序,它需要執行一個UNIX程序並逐行讀取它的輸出,因爲它們是在生成的。我成立了一個NSTask和NSPipe這樣: task = [[NSTask alloc] init]; pipe = [NSPipe pipe]; [task setStandardOutput:pipe]; //... later ... [task setArguments:...];

    0熱度

    1回答

    我有如下代碼,沒關係,但我有2個關於它的問題。 1)如果我給你一些非法的對位SH,例如@ 「LS - L」,那麼outString爲空。也就是說,它不能捕獲錯誤警告「ls: - :沒有這樣的文件或目錄。」ls:l:沒有這樣的文件或目錄「。我該如何處理它? 2)我怎樣才能實現這個功能:給定應用程序的當前目錄是「/用戶/文件」,和我進行SH = @ 「CD /」,然後我進行SH = @「LS -l「在

    7熱度

    2回答

    我試圖運行一個簡單的bash腳本使用NSTask並將輸出指向文本視圖。一旦執行任務,我的應用程序的CPU使用率爲100%,儘管這是一個簡單的echo(現在)。 我創建了一個完全新的項目來隔離問題: @interface AppDelegate() @property (nonatomic) NSTask *task; @property (nonatomic) NSPipe *pipe; @

    1熱度

    1回答

    不要介意所有的「爲什麼?」,「沒用?」和「不要打擾」的評論。我想用clang在另一個程序中編譯一個程序。我可以創建NSTask並設置參數,如果文件存在(即沒有流),並且寫入物理文件,它將工作。我一直無法得到我真正喜歡的是什麼,它將流用於輸入和輸出。我知道,如果使用-xc和 - 選項,clang和gcc都允許編譯stdin,但無法使用管道實現該功能。我也不知道如何將clang的輸出重定向到文件句柄或

    3熱度

    2回答

    我想使用管道來處理需要多個輸入的命令,但不太清楚如何去做。這是我想要做的一個片段。我知道如何處理第一個輸入,但我在第二輸入-newstdinpass NSTask *task = [[NSTask alloc] init]; NSPipe *pipe = [NSPipe pipe]; [task setLaunchPath: @"/bin/sh"]; [task setArguments:

    1熱度

    1回答

    我想使用NSTask來模擬終端來運行命令。代碼如下。它可以在循環中獲得輸入並返回過程輸出。 int main(int argc, const char * argv[]) { @autoreleasepool { while (1) { char str[80] = {0}; scanf("%s", str); NSString *cmd

    1熱度

    1回答

    所以我有這個問題,一旦NSFileHandle/NSPipe被觸發......我的CPU使用和內存開始瘋狂。問題是我發現很難找到這個泄漏。任何意見或幫助表示讚賞。乾杯。 .H NSTask *task; NSPipe *pipe; NSFileHandle *fileHandle; @property (weak) IBOutlet NSTextField *commandInputTex