如果未实现getpid()方法,如何在C中获取进程ID?我有一个没有任何东西的操作系统,没有库,没什么,我必须开发所有。
答案 0 :(得分:4)
此处的任何人都无法为通常无法获得的操作系统提供准确答案(除非他们已经或曾经和您一样)
通用答案是你需要引入一个新的系统调用(如果操作系统非常简单,这只是一个函数调用,就像其他操作系统服务一样 - 不知道操作系统本身,它的细节是无法具体回答,检查当前进程是什么,并返回该进程ID的某种形式的唯一编号。可能是指向过程控制块的指针[如在Windows中],堆栈指针[如果操作系统没有虚拟内存,因此堆栈位于同一位置],或者是当前进程的编号进程列表中的条目。