PHP 检测进程是否存在 PHP 有没有检测进程是否存在的函数啊?求教下。谢了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有什么进程那得让操作系统告诉你,比如linux下查apache进程ps -e | grep "apache" 然后php用system,exec等函数执行命令。 windows好像是tasklist,你自己放狗搜下。 命令:Tasklist 功能:命令用来显示运行在本地或远程计算机上的所有进程,可以监控用户的操作。 命令格式: Tasklist [/S system [/U username [/P [password]]]] [/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH] 参数含义 /S system 指定连接到的远程系统。 /U [domain\]user 指定使用哪个用户执行这个命令。 /P [password] 为指定的用户指定密码。 /M [module] 列出调用指定的DLL模块的所有进程。如果没有指定模块名,显示每个进程加载的所有模块。 /SVC 显示每个进程中的服务。 /V 显示详细信息。 实例分析: 如果我们只是查看本地主机进程信息,直接办入命令即可。下面的实例是从客户机远程查看内网中某台主机时程信息。 假如我们有一台服务器: 内网地址:192.168.0.1, 管理员帐号:administrator 管理员密码:password 我们需要在CMD窗口输入: Tasklist /s 192.168.0.1 /u administrator /p password 这条命令可以使我们方便的查看到远程主机的运行情况,当然前提是保证RPC服务正常启动。命令:tskill 功能:用来关掉进程的 命令格式: TSKILL processid | processname [/SERVER:servername] [/ID:sessionid | /A] [/V] 参数含义 processid 要结束的进程的 Process ID。 processname 要结束的进程名称。 /SERVER:servername 含有 processID 的服务器(默认值是当前值)。 使用进程名和 /SERVER 时,必须指定 /ID 或 /A /ID:sessionid 结束在指定会话下运行的进程。 /A 结束在所有会话下运行的进程。 /V 显示正在执行的操作的信息。 这个Tskill用法很简单,直接输入Tskill 图象名或PID就可以了。 偶尔碰上Tskill无法结束的进程,还可以试试Ntsd命令, 格式为: ntsd -c q -pn {进程名} 参数含义: -c是表示执行debug命令; q表示执行结束后退出; -p 表示后面紧跟着是你要结束的进程对应的PID; -pn 表示后面紧跟着是你要结束的进程名; 哎。还是搞不懂。比如说我想判断QQ.EXE是否存在。存在不执行任何语句 不存在就执行QQ.EXE。应该怎么写啊?麻烦简单说下啊。谢了。 用php 就算了,你得有个程序来找QQ的句柄.这不是PHP干的,如果有那个工具你就直接用那个工具好了。 //C++的PROCESSENTRY32 pe32; pe32.dwSize = sizeof(PROCESSENTRY32); HANDLE hSnaphot; HANDLE hApp; DWORD dProcess = 0; LPCSTR proname = "QQ.exe"; hSnaphot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); Process32First(hSnaphot, &pe32); do { if (lstrcmpi(pe32.szExeFile,proname)==0) { dProcess = pe32.th32ProcessID; break; } }while(Process32Next(hSnaphot, &pe32)); hApp= OpenProcess(PROCESS_VM_OPERATION|SYNCHRONIZE,FALSE,dProcess); // 根据进程 ID 获取程序的句柄 if (!WaitForSingleObject(hApp,INFINITE)) // 等待mencoder.exe程序关闭 { Sleep(3000); cout << "查找!" << endl; break; }//批处理的@echo offtasklist|find /i "qq.exe" ||exittaskkill /im qq.exe /f js好像加到哪里都不对啊 时间的匹配问题 一个ob_gzip问题 如何使用数据库实现php的session? 新手学习一个类的概念,有个地方不懂 从测试环境移到正式环境后session没值 获取地址栏地址 用IIS可以解释php文件吗? 如何获得访问者的请求地址...(php4+apache) 光标定位 急,,,非常急,看到的请进来,非常简单的php,谢谢了, 用php写个网站去创业还是蛮难的。。。
ps -e | grep "apache"
命令:Tasklist 功能:命令用来显示运行在本地或远程计算机上的所有进程,可以监控用户的操作。 命令格式: Tasklist [/S system [/U username [/P [password]]]] [/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH] 参数含义 /S system 指定连接到的远程系统。 /U [domain\]user 指定使用哪个用户执行这个命令。 /P [password] 为指定的用户指定密码。 /M [module] 列出调用指定的DLL模块的所有进程。如果没有指定模块名,显示每个进程加载的所有模块。 /SVC 显示每个进程中的服务。 /V 显示详细信息。 实例分析: 如果我们只是查看本地主机进程信息,直接办入命令即可。下面的实例是从客户机远程查看内网中某台主机时程信息。 假如我们有一台服务器: 内网地址:192.168.0.1, 管理员帐号:administrator 管理员密码:password 我们需要在CMD窗口输入: Tasklist /s 192.168.0.1 /u administrator /p password 这条命令可以使我们方便的查看到远程主机的运行情况,当然前提是保证RPC服务正常启动。
命令:tskill 功能:用来关掉进程的 命令格式: TSKILL processid | processname [/SERVER:servername] [/ID:sessionid | /A] [/V] 参数含义 processid 要结束的进程的 Process ID。 processname 要结束的进程名称。 /SERVER:servername 含有 processID 的服务器(默认值是当前值)。 使用进程名和 /SERVER 时,必须指定 /ID 或 /A /ID:sessionid 结束在指定会话下运行的进程。 /A 结束在所有会话下运行的进程。 /V 显示正在执行的操作的信息。 这个Tskill用法很简单,直接输入Tskill 图象名或PID就可以了。 偶尔碰上Tskill无法结束的进程,还可以试试Ntsd命令, 格式为: ntsd -c q -pn {进程名} 参数含义: -c是表示执行debug命令; q表示执行结束后退出; -p 表示后面紧跟着是你要结束的进程对应的PID; -pn 表示后面紧跟着是你要结束的进程名;
用php 就算了,你得有个程序来找QQ的句柄.这不是PHP干的,如果有那个工具你就直接用那个工具好了。
//C++的
PROCESSENTRY32 pe32;
pe32.dwSize = sizeof(PROCESSENTRY32);
HANDLE hSnaphot;
HANDLE hApp;
DWORD dProcess = 0;
LPCSTR proname = "QQ.exe"; hSnaphot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
Process32First(hSnaphot, &pe32);
do
{
if (lstrcmpi(pe32.szExeFile,proname)==0)
{
dProcess = pe32.th32ProcessID;
break;
}
}while(Process32Next(hSnaphot, &pe32));
hApp= OpenProcess(PROCESS_VM_OPERATION|SYNCHRONIZE,FALSE,dProcess);
// 根据进程 ID 获取程序的句柄
if (!WaitForSingleObject(hApp,INFINITE)) // 等待mencoder.exe程序关闭
{
Sleep(3000);
cout << "查找!" << endl;
break;
}//批处理的
@echo off
tasklist|find /i "qq.exe" ||exit
taskkill /im qq.exe /f