私はローカルのモノサイトを追跡するための小さなアプリケーションを書いています。私はほとんど私自身の使用のためにこれを書いていると私は次のコードを実行し、サーバを起動するにはXcodeのxcodeから端末にコードを実行すると無限ループ
で遊ぶために:
[task setLaunchPath: @"/usr/bin/xsp2"];
NSArray *arguments = [NSArray arrayWithObjects: @"--root", [[document selectedSite] valueForKey:@"path"], @"--nonstop" ,nil];
[task setArguments: arguments];
NSLog(@"argument: %@", arguments);
NSPipe *pipe = [NSPipe pipe];
[task setStandardOutput:pipe];
NSFileHandle *file = [pipe fileHandleForReading];
[task launch];
NSData *inData = nil;
while ((inData = [file availableData]) && [inData length]) {
NSLog(@"%@", [[NSString alloc] initWithData:inData encoding:NSUTF8StringEncoding]);
}
[[document selectedSite] setValue:[NSNumber numberWithInt:1] forKey:@"active"];
[task release];
NSLog(@"opened site");
端末が書き込みを停止したことがないので、これは、無限ループになり(私は推測する?)。だから私の質問は、私はどのようにループを停止するのですか?私が不明な場合はコメントしてください。
Quinnの回答を残して、リークヒントを残してくれてありがとう:) 私がreadDataToEndOfFileを使っているときに、私のアプリもチョーク(死のスピンしているピザホイール)です。 私はターミナルでコードを実行すると、テキストのアドレスに聞く xsp2 のフォロースニペット書き込み:0.0.0.0 ルートディレクトリ:/ユーザー/マッズ ポートでリスニングを:8080(非セキュア)へ ヒット戻りますサーバーを停止します。 –