Была пара вопросов, связанных с NSTask
, но после их просмотра я все еще не представляю, что делать.
Я пишу интерфейс для java-сервера в Какао, запущенного java -Xmx1024M -Xms1024M -jar server.jar nogui
(я пропустил аргумент nogui
в моем текущем коде, чтобы не заполнять мой компьютер ненужными потерянными экземплярами сервера ).
Мой текущий код правильно запускает файл .jar; теперь мне нужен способ для захвата (и анализа) вывода и отправки ввода в процесс.
server = [[NSTask alloc] init];
pipe = [NSPipe pipe];
NSArray *args = [NSArray arrayWithObjects:@"-Xms1024M",
@"-Xmx1024M",
@"-jar",
@"server.jar",
nil];
[server setLaunchPath:@"/usr/bin/java"];
[server setCurrentDirectoryPath:@"MyApp.app/Contents/Resources/"];
[server setArguments:args];
[server setStandardOutput:pipe];
[server setStandardInput:pipe];
[server launch];
Я прочитал NSPipe
и NSTask
и все, но я не могу представить ответ, направленный на мою проблему:
- Вывод в реальном времени, анализ (RegEx?) На
NSTextView
или NSTableView
.
- Ввод от
NSTextField
РЕДАКТИРОВАТЬ: Или я должен использовать launchd
? Как бы я это сделал?