【发布时间】:2012-08-01 12:06:04
【问题描述】:
我是一名可可初学者,正在尝试构建一个供个人使用的应用程序,以管理本地 Apache/MySQL 进程。我想检查 httpd (/usr/sbin/httpd) 是否正在运行。我搜索并找到了一些指向 NSTask 和 isRunning 方法的提示,但无法使其运行。
如何查看此进程是否正在运行?
此外,这是检查 OSX 内置 Apache 是否正在运行的可靠方法吗?
感谢您的帮助。
【问题讨论】:
我是一名可可初学者,正在尝试构建一个供个人使用的应用程序,以管理本地 Apache/MySQL 进程。我想检查 httpd (/usr/sbin/httpd) 是否正在运行。我搜索并找到了一些指向 NSTask 和 isRunning 方法的提示,但无法使其运行。
如何查看此进程是否正在运行?
此外,这是检查 OSX 内置 Apache 是否正在运行的可靠方法吗?
感谢您的帮助。
【问题讨论】:
是的 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];
【讨论】: