/ / Piping wyjścia NSTask bezpośrednio do pliku? - kakao, fajka, nstask

Piping NSTask wyprowadza bezpośrednio do pliku? - kakao, fajka, nstask

Jaki jest najlepszy sposób bezpośredniego potokowania wyjścia NSTask do pliku? Chcę przejść przez jak najmniejszą liczbę buforów w pamięci.

Odpowiedzi:

2 dla odpowiedzi № 1

Przed uruchomieniem NSTask ustaw standardowe wyjście i standardowy błąd (setStandardOutput:, setStandardError:) do NSFileHandle dla pliku wyjściowego (lub plików, jeśli chcesz inny dla każdego pliku wyjściowego).

Na NSFileHandle jest tylko opakowaniem dla podstawowego deskryptora pliku systemu operacyjnego i NSTask wykona odpowiednią pracę, aby podłączyć to do określonego wyjścia (tzn. najprawdopodobniej wykona dup (2)). Nie należy wprowadzać pośrednich buforów pamięci.

Kiedyś NSTask po uruchomieniu można (i należy) zamknąć NSFileHandle w twoim kodzie.