得到子进程id号的系统调用是getppid

得到子进程id号的系统调用是getppid,第1张

是的。Unix/Linux *** 作系统提供了一个fork()调用,它非常特殊。普通的函数调用,调用一次,返回一次,但是fork()调用一次,返回两次,因为 *** 作系统自动把当前进程(称为父进程)复制了一份(称为子进程),然后,分别在父进程子进程内返回。子进程永远返回0,而父进程返回子进程的ID。因为一个父进程可以fork出很多子进程,所以父进程要记下每个子进程的ID,而子进程只需要调用getppid()就可以拿到父进程的ID。

//获取对应进程名的ID

DWORD GetSpecifiedProcessId(const char pszProcessName)

{

DWORD id;

//获得系统快照句柄 (通俗的讲, 就是得到当前的所有进程)

HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0) ;

PROCESSENTRY32 pInfo; //用于保存进程信息的一个数据结构

pInfodwSize = sizeof(pInfo);

//从快照中获取进程列表

Process32First(hSnapShot, &pInfo) ; //从第一个进程开始循环

do

{

//这里的 pszProcessName 为你的进程名称

if(strcmp(strlwr(_strdup(pInfoszExeFile)), pszProcessName) == 0)

{

id = pInfoth32ProcessID ;

break ;

}

}while(Process32Next(hSnapShot, &pInfo) != FALSE);

return id; //id 就是你要的进程PID 了

}

这个代码是我从网上复制过来的 但是注释是我给加的

以后别弄个0 分放这里 真想扁你

打开Windows任务管理器

1Ctrl+shift+esc

2Ctrl+alt+del

3Ctrl+alt+delete

选择进程

这上面有

打开查看(v)

选择列(s)把PID勾选了再回到进程即可

在Android中取得当前进程名

说明:上面代码关键的两个地方解释,也就是取得当前进程名

androidosProcessmyPid()) //获取PID,目前获取自己的也只有该API

ActivityManagerRunningAppProcessInfo类

说明: 封装了正在运行的进程信息

常用字段:

int pid 进程ID

int uid 进程所在的用户ID

String processName 进程名,默认是包名或者由Android:process=””属性指定

String [ ] pkgList 运行在该进程下的所有应用程序包名

按快捷键“win+R”,输入cmd后按回车进入DOS环境:

输入tasklist回车

taskkill可以根据进程名直接杀掉的 例如杀掉记事本进程 taskkill /f /im notepadexe

BAT脚本获取当前cmdexe进程PID/PPID/信息(自杀脚本)

以上就是关于得到子进程id号的系统调用是getppid全部的内容,包括:得到子进程id号的系统调用是getppid、VC 如何得到进程的ID号、如何查看某个程序的进程ID等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9667695.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存