扫描系统进程和获取某进程的PID
扫描系统的所有进程
#include <stdio.h>
#include <windows.h>
#include <tlhelp32.h> int scan()
{
HANDLE hprocessShap = NULL;
PROCESSENTRY32 pe32 = {};
hprocessShap = CreateToolhelp32Snapshot(TH32CS_SNAPALL, ); if(hprocessShap == INVALID_HANDLE_VALUE)
{
printf("\nCreateToolhelp32Snapshot() failed:%d", GetLastError());
return ;
} pe32.dwSize = sizeof(PROCESSENTRY32); if(Process32First(hprocessShap, &pe32))
{
do
{
wprintf(pe32.szExeFile);
printf("\n");
}
while (Process32Next(hprocessShap, &pe32));
}
else
{
printf("\nProcess32First() failed:%d", GetLastError());
}
CloseHandle(hprocessShap);
return ;
} int main(int argc, char *argv)
{
scan();
return ;
}
获取某进程的PID
有时候在对系统某个进程进行操作时,我们需要获取程序的PID作为参数。其中一个方法当然是在任务管理器的详细信息里寻找,另外一个方法就是通过代码获取到进程的PID直接利用
int getpid(wchar_t *name)
{
HANDLE hprocessShap = NULL;
//存放快照进程信息的结构体
PROCESSENTRY32 pe32 = {};
//对系统的进程建立一个快照进行扫描
hprocessShap = CreateToolhelp32Snapshot(TH32CS_SNAPALL, );
if(hprocessShap == INVALID_HANDLE_VALUE)
{
printf("\nCreateToolhelp32Snapshot() failed:%d", GetLastError());
return ;
}
//设置结构体的大小
pe32.dwSize = sizeof(PROCESSENTRY32);
//Process32First获得第一个进程的句柄
if(Process32First(hprocessShap, &pe32))
{
//匹配输入的进程名
do
{
if(!wcscmp(name, pe32.szExeFile))
{
return (int)pe32.th32ProcessID;
}
}
while (Process32Next(hprocessShap, &pe32));
}
else
{
printf("\nProcess32First() failed:%d", GetLastError());
}
CloseHandle(hprocessShap);
return ;
}
扫描系统进程和获取某进程的PID的更多相关文章
- 获取当前进程的pid
获取当前进程的pid import java.lang.management.ManagementFactory; import java.lang.management.RuntimeMXBean; ...
- 在Shell脚本中获取指定进程的PID
注意这条命令用反引号(Tab上面的那个键)括起来,作用类似于${ } processId = ` ps -ef | grep fms.jar | grep -v grep | awk '{print ...
- nodejs的process模块如何获取其他进程的pid
var cmd=process.platform=='win32'?'tasklist':'ps aux'; var exec = require('child_process').exec; var ...
- Linux中的程序和进程,PID和PPID
环境:Vmware Workstation:CentOS-6.4-x86_64 程序和进程: 1.程序:程序是静止的,程序就是磁盘上的一个文件. 2.进程:进程是一个正在执行的程序的实例. 3.进程是 ...
- python 使用标准库根据进程名获取进程的pid
有时候需要获取进程的pid,但又无法使用第三方库的时候. 方法适用linux平台. 方法1 使用subprocess 的check_output函数执行pidof命令 from subprocess ...
- 【linux】linux下准确查询正在tomcat下运行的java进程。准确获取正在运行的java进程的PID
准确获取定位到tomcat下正在运行的java进程的PID命令: ps -ef|grep java | grep catalina | awk '{print $2}' 准确定位到tomcat下正在运 ...
- linux获取精准进程PID之pgrep命令
pgrep 是通过程序的名字来查询进程的工具,一般是用来判断程序是否正在运行.在服务器的配置和管理中,这个工具常被应用,简单明了. 用法: #pgrep [选项] [程序名] pgrep [-flvx ...
- linux -- 进程的查看、进程id的获取、进程的杀死
进程查看 ps ax : 显示当前系统进程的列表 ps aux : 显示当前系统进程详细列表以及进程用户 ps ax|less : 如果输出过长,可能添加管道命令 less查看具体进程, 如:ps a ...
- windows下使用C#获取特定进程网络流量
最近老板接了一个中船重工的项目,需要做一个有关海军软件系统的组件评估项目,项目中有一个子项目需要获取特定进程的各种系统参数,项目使用.NET平台.在获取特定进程各种系统参数时,其它诸如进程ID,进程名 ...
随机推荐
- openssl链接动态库的方法
错误:AES_set_decrypt_key 一. 编译时: 1. 不要在windows与linux共享区编译2. ./config no-asm -fPIC3. make 二. cp: cannot ...
- [Python设计模式] 第16章 上班,干活,下班,加班——状态模式
github地址:https://github.com/cheesezh/python_design_patterns 题目 用代码模拟一天的工作状态,上午状态好,中午想睡觉,下午渐恢复,加班苦煎熬. ...
- CentOS7配置MySQL5.7主备
1:主库设置(1)修改配置文件vi /etc/my.cnf[mysqld]log-bin=master-binserver-id=1 (2)创建用户#mysql -u root -pmysql> ...
- Pilosa文档翻译(一)导言、安装
目录 导言 安装 安装在MacOS 使用HomeBrew 下载二进制文件 从源码构建 使用Docker 安装在Linux 下载二进制文件 从源码构建 使用Docker 接下来是什么? 导言 原文地址 ...
- 单片机成长之路(avr基础篇)- 001 ISP与IAP的区别
ISP(In-System Programming)在系统可编程,指电路板上的空白器件可以编程写入最终用户代码, 而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程.IAP(In ...
- Android内存泄漏杂谈
内存泄漏:是指内存得不到GC的及时回收,从而造成内存占用过多.从而导致程序Crash,也就是常说的OOM. 一.static 先来看以下一段代码 public class DBHelper { pri ...
- TypeScript和JavaScript的一些小技巧记录
项目里使用到的技巧,记录一下,会持续更新. JS的技巧完全可以使用到TS上哦. JS 向下取整 Math.floor(4.5); 简写: var num = 4.5; ~~num; num <& ...
- 【转载】vi/vim使用进阶: 指随意动,移动如飞 (二)
本节所用命令的帮助入口: :help usr_03.txt :help motion.txt :help usr_29.txt :help scroll.txt :help folding 上一篇文章 ...
- easyui的datagrid和treegrid的使用
$('#listTree').treegrid({ idField: 'id', treeField: 'menuName', columns: [[ { title: 'Task Name', fi ...
- C++数值类型与string的相互转换
转自:https://www.cnblogs.com/johngu/p/7878029.html 1.数值类型转换为string 1.1使用函数模板+ostringstream 使用函数模板将基本数据 ...