我正在学习 The MINIX Book (Tanembaum) 上的操作系统,我经历的一个练习是构建一个非常简单的 shell。
为此,本书提供了这段代码:
#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()
,例如,是一个系统调用(如书中所说,它应该与 POSIX 兼容)。
#include
假设我已经在 MINIX 上编译了这个程序(并且我编写的所有其他函数都在同一个 .c 文件中),我的程序应该使用哪些指令?在 C 程序上使用 Linux 系统调用是如何工作的?
谢谢!