c++ - c中如何获取进程ID,getpid()没有实现

标签 c++ c process operating-system pid

在 getpid() 方法未实现的情况下,如何在 C 中获取进程 ID?我有一个没有任何东西的操作系统,没有库,什么都没有,我必须开发所有东西。

最佳答案

这里没有人能够对一般不可用的操作系统给出准确的答案(除非他们正在或曾经与您学习同一类(class))

通用的答案是,您需要引入一个新的系统调用(如果操作系统真的很简单,这将只是一个函数调用,就像其他操作系统服务一样 - 在不了解操作系统本身的情况下,这是一个无法理解的细节)具体回答),它检查当前进程是什么,并返回该进程 ID 的某种形式的唯一编号。可能是指向进程控制 block 的指针[如在Windows中]、堆栈指针[如果操作系统没有虚拟内存,因此堆栈位于同一位置]或进程列表中当前进程的条目号。

关于c++ - c中如何获取进程ID,getpid()没有实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30996901/

相关文章:

python - 单独启动时的测试工作方式与使用 unittest 时的工作方式不同

c++ - 使用从外部参数包中获取的参数类型声明一个函数

c++ - 如何存储允许 O(1) 随机访问的 3D map ? (C++)

android - 其他进程可以看到总线事件吗?

linux - 捕获其他程序stderr和stdout的程序

C 编译器无法在 Ubuntu 12.04 中创建可执行文件

c++ - 如何修复 'Receiver application gets empty message via WM_COPYDATA' 问题?

java - C++ 与 Java 中的 md5 base64 编码器

c++ - glib 的 GAsyncQueue 等同于 C++?

为交叉编译器构建 newlib 时出现 'gettimeofday' 的类型冲突