50 likes | 169 Views
In this section of CS.241, we explore key Unix shell concepts including MP3 overview, the `printf()` and `fgets()` functions, and handling process creation with `fork()`, `exec()`, and `wait()`. We provide practical examples showcasing how to execute non-built-in commands, manage error handling, and navigate directories using built-in commands. Understanding these concepts is crucial for developing efficient and functional Unix-based applications. You'll learn how to read commands from stdin and the importance of managing process execution in the Unix environment.
E N D
CS 241Section Week #4 02/16/12
Topics This Section • MP3 overview • printf() / fgets(), getline() example • fork() / exec() / wait() example • strtok(), chdir() example
MP3 • Simple Unix shell • Built-in commands • Change directory • Termination • History • Non built-in commands • Error handling • Concepts: process, fork, exec, wait
Read the command from stdin • Let’s look at 1.c
Running Non Built-in Commands • Requires a new process to run the binary • Why? • fork() creates a new process • exec() runs executable • wait () makes the parent wait for the child to finish • Instead of using system() , we use fork + exec + wait