tailieunhanh - Advanced Linux Programming: 3-Processes

Tham khảo tài liệu 'advanced linux programming: 3-processes', công nghệ thông tin, hệ điều hành phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả | Processes A RUNNING INSTANCE OF A PROGRAM IS CALLED A PROCESS. If you have two terminal windows showing on your screen then you are probably running the same terminal program twice you have two terminal processes. Each terminal window is probably running a shell each running shell is another process. When you invoke a command from a shell the corresponding program is executed in a new process the shell process resumes when that process completes. Advanced programmers often use multiple cooperating processes in a single application to enable the application to do more than one thing at once to increase application robustness and to make use of already-existing programs. Most of the process manipulation functions described in this chapter are similar to those on other UNIX systems. Most are declared in the header file check the man page for each function to be sure. Looking at Processes Even as you sit down at your computer there are processes running. Every executing program uses one or more processes. Let s start by taking a look at the processes already on your computer. 46 Chapter 3 Processes Process IDs Each process in a Linux system is identified by its unique process ID sometimes referred to as pid. Process IDs are 16-bit numbers that are assigned sequentially by Linux as new processes are created. Every process also has a parent process except the special init process described in Section Zombie Processes .Thus you can think of the processes on a Linux system as arranged in a tree with the init process at its root. The parent process ID or ppid is simply the process ID of the process s parent. When referring to process IDs in a C or C program always use the pid_t typedef which is defined in sys . A program can obtain the process ID of the process it s running in with the getpid system call and it can obtain the process ID of its parent process with the getppid system call. For instance the program in Listing prints its .