This preview shows page 1. Sign up to view the full content.
Unformatted text preview: n is important if you want to understand the fork and execve functions. The fork function runs the same program in a new child process that is a duplicate of the parent. The execve function loads and runs a new program in the context of the current process. While it overwrites the address space of the current process, it does not create a new process. The new program still has the same PID, and it inherits all of the ﬁle descriptors that were open at the time of the call to the execve function. End Aside. Practice Problem 8.6:
Write a program, called myecho, that prints its command line arguments and environment variables. For example: unix> ./myecho arg1 arg2 Command line arguments: argv[ 0]: myecho argv[ 1]: arg1 argv[ 2]: arg2 Environment variables: envp[ 0]: PWD=/usr0/droh/ics/code/ecf envp[ 1]: TERM=emacs 418
... CHAPTER 8. EXCEPTIONAL CONTROL FLOW envp: USER=droh envp: SHELL=/usr/local/bin/tcsh envp: HOME=/usr0/droh 8.4.6 Using fork and execve to Run Programs
Programs such as Unix shells and Web servers (Chapter 12) make heavy...
View Full Document
This note was uploaded on 09/02/2010 for the course ELECTRICAL 360 taught by Professor Schultz during the Spring '10 term at BYU.
- Spring '10
- The American