tailieunhanh - Advanced Linux Programming: 5-Interprocess Communication

Tham khảo tài liệu 'advanced linux programming: 5-interprocess communication', 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ả | Interprocess Communication C . hapter 3 Processes discussed the creation of processes and showed how one process can obtain the exit status of a child s the simplest form of communication between two processes but it s by no means the most mechanisms of Chapter 3 don t provide any way for the parent to communicate with the child except via command-line arguments and environment variables nor any way for the child to communicate with the parent except via the child s exit status. None of these mechanisms provides any means for communicating with the child process while it is actually running nor do these mechanisms allow communication with a process outside the parent-child relationship. This chapter describes means for interprocess communication that circumvent these limitations. We will present various ways for communicating between parents and children between unrelated processes and even between processes on different machines. Interprocess communication IPC is the transfer of data among processes. For example a Web browser may request a Web page from a Web server which then sends HTML data. This transfer of data usually uses sockets in a telephone-like connection. In another example you may want to print the filenames in a directory using a command such as Is shell creates an Is process and a separate Ipr process connecting 96 Chapter 5 Interprocess Communication the two with a pipe represented by the symbol. A pipe permits one-way communication between two related Is process writes data into the pipe and the Ipr process reads data from the pipe. In this chapter we discuss five types of interprocess communication Shared memory permits processes to communicate by simply reading and writing to a specified memory location. Mapped memory is similar to shared memory except that it is associated with a file in the filesystem. Pipes permit sequential communication from one process to a related process. FIFOs are similar