检查进程是否在cocoa app中运行

时间:2012-08-01 12:06:04

标签: xcode cocoa apache nstask

我是一名可可初学者,正在尝试构建一个供个人使用的应用程序,以管理本地Apache / MySQL进程。我想检查httpd(/ usr / sbin / httpd)是否正在运行。我搜索并发现了一些指向NSTask和isRunning方法的提示,但无法让它运行。

如何查看此进程是否正在运行?

此外,这是检查OSX内置Apache是​​否正在运行的可靠方法吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

是NSTask是检查或启动其他进程的可靠方法。以下代码必须帮助您实现所需。

NSTask *task = [[NSTask alloc] init];

[task setLaunchPath:@"/usr/sbin/httpd"];

if([task isRunning])
{
    NSLog(@"Hurray Apache running!!");
}

//If task is not running launch it yourself.

else 
{
    [task launch];

    if([task isRunning])
    {
        NSLog(@"Hurray Apache running!!");
    }
}

[task release];