Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取子进程的cpu_C_Linux_Child Process - Fatal编程技术网

获取子进程的cpu

获取子进程的cpu,c,linux,child-process,C,Linux,Child Process,我正在编写一个程序,通过fork启动几个子进程,并需要定期跟踪它们在哪个CPU上。有什么方法可以在C中实现这一点吗 我知道cpu_getaffinity,但这在进程本身内部。我希望能够调用一个函数,让我知道基于PID的子进程运行在哪个CPU上,但我还没有找到任何与此相关的东西 我发现的最接近的方法是访问/proc/文件系统,但是有没有一种方法可以在程序内部执行而不通过外部系统执行呢 通过/proc接口在父进程中检查它 在子进程中检查,并通过IPC将其发送回父进程,如共享内存或套接字等。。 子进程

我正在编写一个程序,通过fork启动几个子进程,并需要定期跟踪它们在哪个CPU上。有什么方法可以在C中实现这一点吗


我知道cpu_getaffinity,但这在进程本身内部。我希望能够调用一个函数,让我知道基于PID的子进程运行在哪个CPU上,但我还没有找到任何与此相关的东西

我发现的最接近的方法是访问/proc/文件系统,但是有没有一种方法可以在程序内部执行而不通过外部系统执行呢

通过/proc接口在父进程中检查它 在子进程中检查,并通过IPC将其发送回父进程,如共享内存或套接字等。。
子进程运行在哪个CPU上。可以同时有多个CPU,也可以根本没有。为什么?通过外部系统查看/proc不是外部的。它是一个内核接口,与任何旧的系统调用都没有什么不同。您可以让每个子进程自己检查,然后通过共享内存向父进程报告。