查看进程就是使用ps命令而已,只不顾ps的参数太多了。

  使用php查询的话,必须要开启几个函数(可以执行外部程序的函数),参考官网:http://php.net/manual/zh/book.exec.php

  下面是在php进程中查询某个服务创建的进程数,比如httpd,mysqld,sshd.......

<?php
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,可以看下面的代码:

<?php
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

  

  

利用php查看某个服务的进程数的更多相关文章

  1. 【学习笔记】启动Nginx、查看nginx进程、查看nginx服务主进程的方式、Nginx服务可接受的信号、nginx帮助命令、Nginx平滑重启、Nginx服务器的升级

     1.启动nginx的方式: cd /usr/local/nginx ls ./nginx -c nginx.conf 2.查看nginx的进程方式: [root@localhost nginx] ...

  2. 查看php 某个服务的进程数

    查看进程就是使用ps命令而已,只不顾ps的参数太多了. 使用php查询的话,必须要开启几个函数(可以执行外部程序的函数),参考官网:http://php.net/manual/zh/book.exec ...

  3. 利用C#查看特定服务是否安装

    需求:想通过C#代码来查看IIS服务或者MSMQ是否已经安装 分析:IIS服务和MSMQ安装完成后都会创建windows服务,所以我们只需要查看对应的服务是否存在即可. 准备工作: IIS服务名称:W ...

  4. nginx——优化 Nginx worker 进程数

    Nginx 有 Master 和 worker 两种进程,Master 进程用于管理 worker 进程,worker 进程用于 Nginx 服务 worker 进程数应该设置为等于 CPU 的核数, ...

  5. Linux 查看服务状态(服务与进程)

    原文地址:http://blog.csdn.net/weixin_37979944/article/details/79029188 指令(instruction): 计算机实际上可以做的事情实质上非 ...

  6. linux 通过哪个命令可以查看某个服务及其端口、进程号

    netstat/lsof netstat命令用于显示与IP.TCP.UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况 -a 显示一个所有的有效连接信息列表(包括已建立的连接,也 ...

  7. 查看apache当前并发访问数和进程数

    1.查看apache当前并发访问数: netstat -an | grep ESTABLISHED | wc -l 对比httpd.conf中MaxClients的数字差距多少. 2.查看有多少个进程 ...

  8. 服务和进程管理及查看分区和cpu

    查看分区:cat /proc/partitions   [root@lbg init.d]# cat /proc/partitions major minor  #blocks  name       ...

  9. httpd进程数统计,IP封禁,IP连接数量情况查看

    ps -ef|grep httpd|wc -l 统计httpd进程数,连个请求会启动一个进程,使用于Apache服务器. 查看Apache的并发请求数及其TCP连接状态:netstat -n | aw ...

随机推荐

  1. [Hive_4] Hive 插入数据

    0. 说明 Hive 插入数据的方法 && Hive 插入数据的顺序 && 插入复杂数据的方法 && load 命令详解 1. Hive 插入数据的方法 ...

  2. Android中使用ViewGroup.removeViews()时出现NullPointException解决方案

    在ViewGroup的内部写一个动画效果,在效果结束之后会调用onAnimationEnd(Animation arg0),在此方法中如果直接使用removeViews()时,可能会出现NullPoi ...

  3. CISCO 过载NAT配置(小型网络)

    一.实验涉及技术  vlan(虚拟局域网). svi(三层交换) .nat(网络地址转换).static router(静态路由) 三.实验目的: 通过配置过载NAT从而实现企业内网正常访问公网,PC ...

  4. 第一次使用Open Live Writer维护BlogJava

    换了电脑,又重装了一堆东西,现在才把Open Live Writer整好.顺便记下几个心得: Open Live Writer已经没办法从网站上下载了,介绍个方法,可以把地址直接拷贝到迅雷里面,然后请 ...

  5. 05.Python网络爬虫之三种数据解析方式

    引入 回顾requests实现数据爬取的流程 指定url 基于requests模块发起请求 获取响应对象中的数据 进行持久化存储 其实,在上述流程中还需要较为重要的一步,就是在持久化存储之前需要进行指 ...

  6. 上传--spring-boot

    <dependency>   <groupId>commons-fileupload</groupId>   <artifactId>commons-f ...

  7. rem自适应

    //REM自适应 _resize(); window.addEventListener('resize', _resize, false); function _resize() { var devi ...

  8. ES5-ES6-ES7_严格模式

    运行模式 正常(混杂)模式与严格模式,除了正常运行模式(混杂模式),ES5添加了第二种运行模式:"严格模式"(strict mode) 顾名思义,这种模式使得Javascript在 ...

  9. JZOJ 5602.【NOI2018模拟3.26】Cti

    JZOJ 5602.[NOI2018模拟3.26]Cti Description 有一个 \(n×m\) 的地图,地图上的每一个位置可以是空地,炮塔或是敌人.你需要操纵炮塔消灭敌人. 对于每个炮塔都有 ...

  10. 8.04-book

    import requests from lxml import etree from bs4 import BeautifulSoup import json class BookSpider(ob ...