我正在学习Minix Book(Tanembaum)上的操作系统,而我进行的练习之一就是构建一个非常简单的外壳。
为此,这本书提供了此代码:
#define TRUE 1
while (TRUE) {
type_prompt();
read_command(command, parameters);
if (fork() != 0) {
waitpid(-1, &status, 0);
} else {
execve(command, parameters, 0);
}
}
这不是整个C程序(显然),我需要声明一些变量并自己编写一些功能。但是,例如,fork()
是一个系统调用(如书中所述,应该兼容它)。
假设我已经在minix上编译了此程序(以及我写的所有其他功能都在同一.c文件中),我的程序应必须使用它们的#include
指令?在C程序上使用Linux系统调用是如何工作的?
谢谢!
Google对man fork
的搜索将显示Linux Man页面,并表明它需要:
#include <unistd.h>