查看进程就是使用ps命令而已,只不顾ps的参数太多了。
使用php查询的话,必须要开启几个函数(可以执行外部程序的函数),参考官网:http://php.net/manual/zh/book.exec.php
下面是在php进程中查询某个服务创建的进程数,比如httpd,mysqld,sshd.......
function query_process_num($service){
$res = array();
exec("ps -ef | grep " . $service ." | wc -l", $res);
return trim($res[0]) - 2;
}
echo query_process_num("httpd");
?>
至于为什么要减2,可以看下面的代码:
function query_process_num($service){
$res = array();
exec("ps -ef | grep " . $service, $res);
print_r($res);//不处理直接输出
unset($res);
exec("ps -ef | grep " . $service . " | wc -l", $res);
print_r($res);//统计输出
}
query_process_num("httpd");
?>
输出如下:
→ ~/tmp/test $ ps -ef | grep httpd #命令行直接运行命令
0 92193 1 0 7:09下午 ?? 0:00.64 /usr/sbin/httpd -D FOREGROUND
70 92194 92193 0 7:09下午 ?? 0:00.00 /usr/sbin/httpd -D FOREGROUND
502 94092 70178 0 7:30下午 ttys002 0:00.01 grep httpd
→ ~/tmp/test $ php index.php #使用php查询
Array
(
[0] => 0 92193 1 0 7:09下午 ?? 0:00.64 /usr/sbin/httpd -D FOREGROUND
[1] => 70 92194 92193 0 7:09下午 ?? 0:00.00 /usr/sbin/httpd -D FOREGROUND
[2] => 502 94109 94108 0 7:30下午 ttys002 0:00.00 sh -c ps -ef | grep httpd
[3] => 502 94111 94109 0 7:30下午 ttys002 0:00.00 grep httpd
)
Array
(
[0] => 4
)
可以从上面的运行结果中就可以知道为什么要减2
【学习笔记】启动Nginx、查看nginx进程、查看nginx服务主进程的方式、Nginx服务可接受的信号、nginx帮助命令、Nginx平滑重启、Nginx服务器的升级
1.启动nginx的方式: cd /usr/local/nginx ls ./nginx -c nginx.conf 2.查看nginx的进程方式: [root@localhost nginx] ...
查看php 某个服务的进程数
查看进程就是使用ps命令而已,只不顾ps的参数太多了. 使用php查询的话,必须要开启几个函数(可以执行外部程序的函数),参考官网:http://php.net/manual/zh/book.exec ...
利用C#查看特定服务是否安装
需求:想通过C#代码来查看IIS服务或者MSMQ是否已经安装 分析:IIS服务和MSMQ安装完成后都会创建windows服务,所以我们只需要查看对应的服务是否存在即可. 准备工作: IIS服务名称:W ...
nginx——优化 Nginx worker 进程数
Nginx 有 Master 和 worker 两种进程,Master 进程用于管理 worker 进程,worker 进程用于 Nginx 服务 worker 进程数应该设置为等于 CPU 的核数, ...
Linux 查看服务状态(服务与进程)