C++ 如何使用C++;?

C++ 如何使用C++;?,c++,linux,process,system-calls,C++,Linux,Process,System Calls,目的是希望在某个随机进程被终止时,我在Linux上运行的程序被终止。 我可以得到我的程序要监视的进程的PID或进程句柄 有什么可能的方法可以采用吗?引入了Linux 5.3,它允许您从PID获取文件描述符。当进程结束时,FD将变得可读,您可以使用选择/轮询/epoll来检测,如下所示: #包括 #包括 #包括 #包括 #包括 内部主(空){ pid_t pid; 标准:cin>>pid; int pidfd=syscall(SYS_pidfd_open,pid,0); if(pidfd

目的是希望在某个随机进程被终止时,我在Linux上运行的程序被终止。 我可以得到我的程序要监视的进程的PID或进程句柄

有什么可能的方法可以采用吗?

引入了Linux 5.3,它允许您从PID获取文件描述符。当进程结束时,FD将变得可读,您可以使用
选择
/
轮询
/
epoll
来检测,如下所示:

#包括
#包括
#包括
#包括
#包括
内部主(空){
pid_t pid;
标准:cin>>pid;
int pidfd=syscall(SYS_pidfd_open,pid,0);
if(pidfd<0){
佩罗尔(“PIDF_公开”);
返回1;
}
fd_设置读取FDS;
FD_零(&readfds);
FD_集(pidfd和readfds);
如果(选择(pidfd+1,&readfds,nullptr,nullptr,nullptr)!=1){
佩罗(“选择”);
返回1;
}
返回0;
}

这是否回答了您的问题?在BSD领域很容易,但我从来没有找到一种在Linux中处理无关进程的好方法。@kaylum不,它没有,因为这是关于一个进程是否已死亡的一次性检查,但这是关于在进程死亡时得到通知。