Estoy tratando de ejecutar este comando ps -ef | grep test
usando NSTask pero no puedo obtener el | prueba de grep para ser incluido en el NSTask:ejecutando el comando de shell con | (tubería) usando NSTask
Esto es lo que estoy usando actualmente para obtener la salida de ps-ef en una cadena y luego tengo que conseguir de alguna manera el pid del proceso de prueba
NSTask *task;
task = [[NSTask alloc] init];
[task setLaunchPath: @"/bin/ps"];
NSArray *arguments;
arguments = [NSArray arrayWithObjects: @"-ef", nil];
[task setArguments: arguments];
NSPipe *pipe;
pipe = [NSPipe pipe];
[task setStandardOutput: pipe];
NSFileHandle *file;
file = [pipe fileHandleForReading];
[task launch];
NSData *data;
data = [file readDataToEndOfFile];
NSString *string;
string = [[NSString alloc] initWithData: data
encoding: NSUTF8StringEncoding];
NSLog (@"got\n%@", string);
¿Por qué no hace el filtrado en su programa? La tubería para grep será más lenta. El proceso –