2.5 启动程序

当我们在shell进程里面执行命令“/sbin/hello.elf &”以启动程序“hello”时,shell进程首先创建子进程,然后子进程装载程序“hello.elf”,其代码如下:

    ret = fork();
    if (ret > 0) {
        /* 父进程继续执行 */
    } else if (ret == 0) {
        /* 子进程装载程序 */
        ret = execve(filename, argv, envp);
    } else {
        /* 创建子进程失败 */
    }

下面描述创建新进程和装载程序的过程。