IT training advanced programming in the UNIX environment by w richard stevens, stephen a rago II edition(2)

1.4K 105 0
IT training advanced programming in the UNIX environment by w  richard stevens, stephen a  rago II edition(2)

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Advanced Programming in the UNIX® Environment: Second Edition By W Richard Stevens, Stephen A Rago Publisher: Addison Wesley Professional Pub Date: June 17, 2005 ISBN: 0201433079 Pages: 960 Table of Contents | Index "Stephen Rago's update is a long overdue benefit to the community of professionals using the versatile family of UNIX and UNIX-like operating environments It removes obsolescence and includes newer developments It also thoroughly updates the context of all topics, examples, and applications to recent releases of popular implementations of UNIX and UNIX-like environments And yet, it does all this while retaining the style and taste of the original classic." Mukesh Kacker, cofounder and former CTO of Pronto Networks, Inc."One of the essential classics of UNIX programming." Eric S Raymond, author of The Art of UNIX Programming"This is the definitive reference book for any serious or professional UNIX systems programmer Rago has updated and extended the classic Stevens text while keeping true to the original The APIs are illuminated by clear examples of their use He also mentions many of the pitfalls to look out for when programming across different UNIX system implementations and points out how to avoid these pitfalls using relevant standards such as POSIX 1003.1, 2004 edition and the Single UNIX Specification, Version 3." Andrew Josey, Director, Certification, The Open Group, and Chair of the POSIX 1003.1 Working Group"Advanced Programming in the UNIX® Environment, Second Edition, is an essential reference for anyone writing programs for a UNIX system It's the first book I turn to when I want to understand or re-learn any of the various system interfaces Stephen Rago has successfully revised this book to incorporate newer operating systems such as GNU/Linux and Apple's OS X while keeping true to the first edition in terms of both readability and usefulness It will always have a place right next to my computer." Dr Benjamin Kuperman, Swarthmore CollegePraise for the First Edition"Advanced Programming in the UNIX® Environment is a must-have for any serious C programmer who works under UNIX Its depth, thoroughness, and clarity of explana-tion are unmatched." UniForum Monthly"Numerous readers recommended Advanced Programming in the UNIX® Environment by W Richard Stevens (Addison-Wesley), and I'm glad they did; I hadn't even heard of this book, and it's been out since 1992 I just got my hands on a copy, and the first few chapters have been fascinating." Open Systems Today"A much more readable and detailed treatment of UNIX internals can be found in Advanced Programming in the UNIX® Environment by W Richard Stevens (Addison-Wesley) This book includes lots of realistic examples, and I find it quite helpful when I have systems programming tasks to do." RS/Magazine"This is the definitive reference book for any serious or professional UNIX systems programmer Rago has updated and extended the original Stevens classic while keeping true to the original." Andrew Josey, Director, Certification, The Open Group, and Chair of the POSIX 1003.1 Working GroupFor over a decade, serious C programmers have relied on one book for practical, in-depth knowledge of the programming interfaces that drive the UNIX and Linux kernels: W Richard Stevens' Advanced Programming in the UNIX® Environment Now, Stevens' colleague Stephen Rago has thoroughly updated this classic to reflect the latest technical advances and add support for today's leading UNIX and Linux platforms.Rago carefully retains the spirit and approach that made this book a classic Building on Stevens' work, he begins with basic topics such as files, directories, and processes, carefully laying the groundwork for understanding more advanced techniques, such as signal handling and terminal I/O.Substantial new material includes chapters on threads and multithreaded programming, using the socket interface to drive interprocess communication (IPC), and extensive coverage of the interfaces added to the latest version of the POSIX.1 standard Nearly all examples have been tested on four of today's most widely used UNIX/Linux platforms: FreeBSD 5.2.1; the Linux 2.4.22 kernel; Solaris 9; and Darwin 7.4.0, the FreeBSD/Mach hybrid underlying Apple's Mac OS X 10.3.As in the first edition, you'll learn through example, including more than 10,000 lines of downloadable, ANSI C source code More than 400 system calls and functions are demonstrated with concise, complete programs that clearly illustrate their usage, arguments, and return values To tie together what you've learned, the book presents several chapter-length case studies, each fully updated for contemporary environments.Advanced Programming in the UNIX® Environment has helped a generation of programmers write code with exceptional power, performance, and reliability Now updated for today's UNIX/Linux systems, this second edition will be even more indispensable Advanced Programming in the UNIX® Environment: Second Edition By W Richard Stevens, Stephen A Rago Publisher: Addison Wesley Professional Pub Date: June 17, 2005 ISBN: 0201433079 Pages: 960 Table of Contents | Index Copyright Praise for Advanced Programming in the UNIX® Environment, Second Edition Praise for the First Edition Addison-Wesley Professional Computing Series Foreword Preface Introduction Changes from the First Edition Acknowledgments Preface to the First Edition Introduction Unix Standards Organization of the Book Examples in the Text Systems Used to Test the Examples Acknowledgments Chapter UNIX System Overview Section 1.1 Introduction Section 1.2 UNIX Architecture Section 1.3 Logging In Section 1.4 Files and Directories Section 1.5 Input and Output Section 1.6 Programs and Processes Section 1.7 Error Handling Section 1.8 User Identification Section 1.9 Signals Section 1.10 Time Values Section 1.11 System Calls and Library Functions Section 1.12 Summary Exercises Chapter UNIX Standardization and Implementations Section 2.1 Introduction Section 2.2 UNIX Standardization Section 2.3 UNIX System Implementations Section 2.4 Relationship of Standards and Implementations Section 2.5 Limits Section 2.6 Options Section 2.7 Feature Test Macros Section 2.8 Primitive System Data Types Section 2.9 Conflicts Between Standards Section 2.10 Summary Exercises Chapter File I/O Section 3.1 Introduction Section 3.2 File Descriptors Section 3.3 open Function Section 3.4 creat Function Section 3.5 close Function Section 3.6 lseek Function Section 3.7 read Function Section 3.8 write Function Section 3.9 I/O Efficiency Section 3.10 File Sharing Section 3.11 Atomic Operations Section 3.12 dup and dup2 Functions Section 3.13 sync, fsync, and fdatasync Functions Section 3.14 fcntl Function Section 3.15 ioctl Function Section 3.16 /dev/fd Section 3.17 Summary Exercises Chapter Files and Directories Section 4.1 Introduction Section 4.2 stat, fstat, and lstat Functions Section 4.3 File Types Section 4.4 Set-User-ID and Set-Group-ID Section 4.5 File Access Permissions Section 4.6 Ownership of New Files and Directories Section 4.7 access Function Section 4.8 umask Function Section 4.9 chmod and fchmod Functions Section 4.10 Sticky Bit Section 4.11 chown, fchown, and lchown Functions Section 4.12 File Size Section 4.13 File Truncation Section 4.14 File Systems Section 4.15 link, unlink, remove, and rename Functions Section 4.16 Symbolic Links Section 4.17 symlink and readlink Functions Section 4.18 File Times Section 4.19 utime Function Section 4.20 mkdir and rmdir Functions Section 4.21 Reading Directories Section 4.22 chdir, fchdir, and getcwd Functions Section 4.23 Device Special Files Section 4.24 Summary of File Access Permission Bits Section 4.25 Summary Exercises Chapter Standard I/O Library Section 5.1 Introduction Section 5.2 Streams and FILE Objects Section 5.3 Standard Input, Standard Output, and Standard Error Section 5.4 Buffering Section 5.5 Opening a Stream Section 5.6 Reading and Writing a Stream Section 5.7 Line-at-a-Time I/O Section 5.8 Standard I/O Efficiency Section 5.9 Binary I/O Section 5.10 Positioning a Stream Section 5.11 Formatted I/O Section 5.12 Implementation Details Section 5.13 Temporary Files Section 5.14 Alternatives to Standard I/O Section 5.15 Summary Exercises Chapter System Data Files and Information Section 6.1 Introduction Section 6.2 Password File Section 6.3 Shadow Passwords Section 6.4 Group File Section 6.5 Supplementary Group IDs Section 6.6 Implementation Differences Section 6.7 Other Data Files Section 6.8 Login Accounting Section 6.9 System Identification Section 6.10 Time and Date Routines Section 6.11 Summary Exercises Chapter Process Environment Section 7.1 Introduction Section 7.2 main Function Section 7.3 Process Termination Section 7.4 Command-Line Arguments Section 7.5 Environment List Section 7.6 Memory Layout of a C Program Section 7.7 Shared Libraries Section 7.8 Memory Allocation Section 7.9 Environment Variables Section 7.10 setjmp and longjmp Functions Section 7.11 getrlimit and setrlimit Functions Section 7.12 Summary Exercises Chapter Process Control Section 8.1 Introduction Section 8.2 Process Identifiers Section 8.3 fork Function Section 8.4 vfork Function Section 8.5 exit Functions Section 8.6 wait and waitpid Functions Section 8.7 waitid Function Section 8.8 wait3 and wait4 Functions Section 8.9 Race Conditions Section 8.10 exec Functions Section 8.11 Changing User IDs and Group IDs Section 8.12 Interpreter Files Section 8.13 system Function Section 8.14 Process Accounting Section 8.15 User Identification Section 8.16 Process Times Section 8.17 Summary Exercises Chapter Process Relationships Section 9.1 Introduction Section 9.2 Terminal Logins Section 9.3 Network Logins Section 9.4 Process Groups Section 9.5 Sessions Section 9.6 Controlling Terminal Section 9.7 tcgetpgrp, tcsetpgrp, and tcgetsid Functions Section 9.8 Job Control Section 9.9 Shell Execution of Programs Section 9.10 Orphaned Process Groups Section 9.11 FreeBSD Implementation Section 9.12 Summary Exercises Chapter 10 Signals Section 10.1 Introduction Section 10.2 Signal Concepts Section 10.3 signal Function Section 10.4 Unreliable Signals Section 10.5 Interrupted System Calls Section 10.6 Reentrant Functions Section 10.7 SIGCLD Semantics Section 10.8 Reliable-Signal Terminology and Semantics Section 10.9 kill and raise Functions Section 10.10 alarm and pause Functions Section 10.11 Signal Sets Section 10.12 sigprocmask Function Section 10.13 sigpending Function Section 10.14 sigaction Function Section 10.15 sigsetjmp and siglongjmp Functions Section 10.16 sigsuspend Function Section 10.17 abort Function Section 10.18 system Function Section 10.19 sleep Function Section 10.20 Job-Control Signals Section 10.21 Additional Features Section 10.22 Summary Exercises Chapter 11 Threads Section 11.1 Introduction Section 11.2 Thread Concepts Section 11.3 Thread Identification Section 11.4 Thread Creation Section 11.5 Thread Termination Section 11.6 Thread Synchronization Section 11.7 Summary Exercises Chapter 12 Thread Control Section 12.1 Introduction Section 12.2 Thread Limits Section 12.3 Thread Attributes Section 12.4 Synchronization Attributes Section 12.5 Reentrancy Section 12.6 Thread-Specific Data Section 12.7 Cancel Options Section 12.8 Threads and Signals Section 12.9 Threads and fork Section 12.10 Threads and I/O Section 12.11 Summary Exercises Chapter 13 Daemon Processes Section 13.1 Introduction Section 13.2 Daemon Characteristics Section 13.3 Coding Rules Section 13.4 Error Logging Section 13.5 Single-Instance Daemons Section 13.6 Daemon Conventions Section 13.7 ClientServer Model Section 13.8 Summary Exercises Chapter 14 Advanced I/O Section 14.1 Introduction Section 14.2 Nonblocking I/O Section 14.3 Record Locking Section 14.4 STREAMS Section 14.5 I/O Multiplexing Section 14.6 Asynchronous I/O Section 14.7 readv and writev Functions Section 14.8 readn and writen Functions Section 14.9 Memory-Mapped I/O Section 14.10 Summary Exercises Chapter 15 Interprocess Communication Section 15.1 Introduction Section 15.2 Pipes Section 15.3 popen and pclose Functions Section 15.4 Coprocesses Section 15.5 FIFOs Section 15.6 XSI IPC Section 15.7 Message Queues Section 15.8 Semaphores Section 15.9 Shared Memory Section 15.10 ClientServer Properties Section 15.11 Summary Exercises Chapter 16 Network IPC: Sockets Section 16.1 Introduction Section 16.2 Socket Descriptors Section 16.3 Addressing Section 16.4 Connection Establishment Section 16.5 Data Transfer Section 16.6 Socket Options Section 16.7 Out-of-Band Data Section 16.8 Nonblocking and Asynchronous I/O Section 16.9 Summary Exercises Chapter 17 Advanced IPC Section 17.1 Introduction Section 17.2 STREAMS-Based Pipes Section 17.3 UNIX Domain Sockets Section 17.4 Passing File Descriptors Section 17.5 An Open Server, Version Section 17.6 An Open Server, Version Section 17.7 Summary Exercises Chapter 18 Terminal I/O Section 18.1 Introduction Section 18.2 Overview Section 18.3 Special Input Characters Section 18.4 Getting and Setting Terminal Attributes Section 18.5 Terminal Option Flags Section 18.6 stty Command Section 18.7 Baud Rate Functions Section 18.8 Line Control Functions Section 18.9 Terminal Identification Section 18.10 Canonical Mode Section 18.11 Noncanonical Mode Section 18.12 Terminal Window Size Section 18.13 termcap, terminfo, and curses Section 18.14 Summary Exercises Chapter 19 Pseudo Terminals Section 19.1 Introduction Section 19.2 Overview Section 19.3 Opening Pseudo-Terminal Devices Section 19.4 pty_fork Function Section 19.5 pty Program Section 19.6 Using the pty Program Section 19.7 Advanced Features Section 19.8 Summary Exercises Chapter 20 A Database Library Section 20.1 Introduction Section 20.2 History Section 20.3 The Library Section 20.4 Implementation Overview Section 20.5 Centralized or Decentralized? Section 20.6 Concurrency Section 20.7 Building the Library Section 20.8 Source Code Section 20.9 Performance Section 20.10 Summary Exercises Chapter 21 Communicating with a Network Printer Section 21.1 Introduction Section 21.2 The Internet Printing Protocol Section 21.3 The Hypertext Transfer Protocol Section 21.4 Printer Spooling Section 21.5 Source Code Section 21.6 Summary Exercises Appendix A Function Prototypes Appendix B Miscellaneous Source Code Section B.1 Our Header File B.2 Standard Error Routines Appendix C Solutions to Selected Exercises Chapter Chapter Chapter Chapter Chapter Chapter Chapter Chapter Chapter Chapter 10 Chapter 11 Chapter 12 Chapter 13 Chapter 14 Chapter 15 Chapter 16 Chapter 17 Chapter 18 Chapter 19 Chapter 20 Chapter 21 Bibliography Index STREAMS module connld 2nd 3rd 4th ldterm 2nd 3rd pckt 2nd ptem 2nd 3rd pts redirmod ttcompat 2nd 3rd streams, standard I/O STREAMS-based pipes mounted 2nd 3rd timing strerror function 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd definition of strerror_r function strftime function 2nd 3rd 4th definition of strlen function 2nd Strong, H R 2nd 3rd strrecvfd structure 2nd strsignal function definition of strtok function 2nd strtok_r function stty program 2nd 3rd 4th 5th Stumm, M 2nd 3rd su program submit_file function SUID [See set-user-ID] Sun Microsystems 2nd 3rd 4th 5th 6th SunOS 2nd 3rd 4th 5th 6th superuser supplementary group ID 2nd 3rd 4th 5th 6th 7th 8th 9th 10th SUS (Single UNIX Specification) 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd 23rd 24th 25th 26th 27th 28th 29th 30th 31st 32nd 33rd 34th 35th 36th 37th 38th 39th 40th 41st 42nd 43rd 44th 45th 46th 47th 48th 49th 50th 51st 52nd 53rd 54th 55th 56th 57th 58th 59th 60th 61st 62nd 63rd 64th 65th 66th 67th 68th 69th 70th 71st 72nd 73rd 74th 75th 76th 77th 78th 79th 80th 81st 82nd 83rd SUSP terminal character 2nd 3rd 4th 5th SUSv3 (Single UNIX Specification, Version 3) 2nd 3rd 4th SVID (System V Interface Definition) 2nd 3rd 4th SVR2 2nd 3rd 4th SVR3 2nd 3rd 4th 5th 6th 7th 8th SVR3.0 SVR3.1 SVR3.2 2nd 3rd SVR4 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st swapper process symbolic link 2nd 3rd 4th 5th 6th 7th 8th 9th 10th symlink function 2nd definition of SYMLINK_MAX constant 2nd 3rd SYMLOOP_MAX constant 2nd 3rd sync function 2nd definition of sync program synchronization mechanisms synchronous write 2nd sys_siglist variable sysconf function 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd definition of sysctl program 2nd sysdef program syslog function 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th definition of syslogd program 2nd 3rd 4th 5th system calls 2nd interrupted 2nd 3rd 4th 5th 6th restarted 2nd 3rd 4th 5th 6th tracing versus functions system function 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th definition of 2nd return value system identification system process 2nd System V 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th System V Interface Definition [See SVID] sysyconf function Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] TAB0 constant TAB1 constant TAB2 constant TAB3 constant TABDLY constant 2nd 3rd Tankus, E tar program 2nd 3rd 4th tcdrain function 2nd 3rd 4th 5th definition of tcflag_t data type tcflow function 2nd 3rd 4th definition of tcflush function 2nd 3rd 4th 5th 6th definition of tcgetattr function 2nd 3rd 4th 5th 6th 7th 8th 9th 10th definition of tcgetpgrp function 2nd 3rd 4th definition of tcgetsid function 2nd 3rd definition of TCIFLUSH constant TCIOFF constant TCIOFLUSH constant TCION constant TCOFLUSH constant TCOOFF constant TCOON constant TCSADRAIN constant TCSAFLUSH constant 2nd 3rd 4th TCSANOW constant 2nd 3rd tcsendbreak function 2nd 3rd 4th 5th definition of tcsetattr function 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th definition of tcsetpgrp function 2nd 3rd 4th 5th 6th 7th definition of tee program tell function TELL_CHILD function 2nd 3rd 4th 5th 6th 7th 8th 9th definition of 2nd TELL_PARENT function 2nd 3rd 4th 5th 6th 7th 8th 9th definition of 2nd TELL_WAIT function 2nd 3rd 4th 5th 6th 7th 8th 9th definition of 2nd telldir function definition of telnet program 2nd 3rd telnetd program 2nd 3rd 4th 5th 6th tempfile function tempnam function definition of TENEX C shell TERM environment variable 2nd 3rd termcap 2nd terminal baud rate canonical mode controlling 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd 23rd 24th 25th 26th 27th 28th 29th 30th 31st 32nd I/O identification line control logins mode, cbreak 2nd 3rd 4th mode, cooked mode, raw 2nd 3rd 4th 5th 6th noncanonical mode options parity process group ID 2nd special input characters window size 2nd 3rd 4th 5th termination, process terminfo 2nd 3rd termio structure termios structure 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th text segment The Open Group 2nd 3rd 4th Thompson, K 2nd 3rd 4th 5th thread_init function threads 2nd 3rd 4th 5th concepts control creation synchronization termination thundering herd tick, clock 2nd 3rd 4th 5th 6th time and date functions calendar 2nd 3rd 4th 5th 6th 7th process 2nd 3rd 4th values time function 2nd 3rd 4th 5th 6th 7th definition of time program TIME terminal value 2nd 3rd 4th 5th time_t data type 2nd 3rd 4th 5th 6th timer_getoverrun function timer_gettime function timer_settime function 2nd times function 2nd 3rd 4th 5th definition of times, file 2nd timespec structure 2nd 3rd timeval structure 2nd 3rd 4th 5th 6th 7th 8th timing message queues read buffer sizes read/write versus mmap semaphore locking versus record locking standard I/O versus unbuffered I/O STREAMS-based pipes synchronization mechanisms UNIX domain sockets writev versus other techniques TIOCGPTN constant TIOCGWINSZ constant 2nd 3rd TIOCPKT constant TIOCPTLCK constant TIOCREMOTE constant TIOCSCTTY constant 2nd TIOCSIG constant TIOCSIGNAL constant TIOCSWINSZ constant 2nd 3rd tip program TLI (Transport Layer Interface, System V) tm structure 2nd TMP_MAX constant 2nd TMPDIR environment variable 2nd tmpfile function 2nd 3rd definition of tmpnam function 2nd 3rd 4th definition of tms structure Torvalds, L TOSTOP constant 2nd touch program tracing system calls transactions, database Transport Layer Interface, System V [See TLI] TRAP_BRKPT constant TRAP_TRACE constant tread function treadn function Trickey, H 2nd truncate function 2nd 3rd 4th definition of truncation file filename pathname truss program ttcompat STREAMS module 2nd 3rd tty structure tty_atexit function 2nd 3rd definition of tty_cbreak function 2nd 3rd definition of TTY_NAME_MAX constant 2nd 3rd tty_raw function 2nd 3rd 4th 5th definition of tty_reset function 2nd 3rd definition of tty_termios function 2nd definition of ttymon program ttyname function 2nd 3rd 4th 5th 6th 7th definition of 2nd ttyname_r function 2nd type attribute typescript file 2nd TZ environment variable 2nd 3rd 4th 5th TZNAME_MAX constant 2nd 3rd Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] UCHAR_MAX constant ucontext_t structure UFS file system 2nd 3rd 4th 5th 6th UID [See user ID] uid_t data type uint16_t data type uint32_t data type UINT_MAX constant ulimit program 2nd ULLONG_MAX constant ULONG_MAX constant UltraSPARC umask function 2nd 3rd 4th 5th definition of umask program 2nd un_lock function 2nd 3rd 4th uname function 2nd 3rd definition of uname program 2nd unbuffered I/O 2nd unbuffered I/O timing, standard I/O versus ungetc function 2nd definition of ungetwc function uninitialized data segment UNIX Architecture UNIX domain sockets timing UNIX System implementations Unix-to-Unix Copy [See UUCP] UnixWare 2nd unlink function 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th definition of unlockpt function 2nd 3rd definition of 2nd 3rd Unrau, R 2nd 3rd unreliable signals unsetenv function 2nd definition of update program update_jobno function 2nd uptime program 2nd 3rd 4th 5th 6th 7th USER environment variable 2nd user ID 2nd effective 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd 23rd 24th 25th 26th real 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th USHRT_MAX constant usleep function 2nd 3rd UTC (Coordinated Universal Time) 2nd 3rd utimbuf structure 2nd utime function 2nd 3rd 4th definition of utmp file 2nd 3rd 4th 5th 6th utmp structure utsname structure 2nd UUCP (Unix-to-Unix Copy) uucp program Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] v-node 2nd 3rd 4th 5th 6th 7th va_end function 2nd va_list data type va_start function 2nd variables automatic 2nd 3rd 4th 5th global register static volatile 2nd 3rd 4th VDISCARD constant VDSUSP constant VEOF constant 2nd VEOL constant 2nd VEOL2 constant VERASE constant VERASE2 constant vfork function 2nd 3rd 4th vfprintf function 2nd definition of vfscanf function definition of vfwprintf function vi program 2nd 3rd 4th 5th 6th VINTR constant vipw program VKILL constant VLNEXT constant VMIN constant 2nd vnode structure Vo, K P 2nd 3rd 4th volatile variables 2nd 3rd 4th vprintf function 2nd 3rd definition of VQUIT constant vread function VREPRINT constant vscanf function definition of vsnprintf function 2nd 3rd 4th 5th 6th definition of vsprintf function 2nd definition of vsscanf function definition of VSTART constant VSTATUS constant VSTOP constant VSUSP constant vsyslog function definition of VT0 constant VT1 constant VTDLY constant 2nd 3rd 4th VTIME constant 2nd VWERASE constant vwprintf function vwrite function Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] W_OK constant wait function 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd 23rd definition of Wait, J W wait3 function definition of wait4 function definition of WAIT_CHILD function 2nd 3rd 4th 5th 6th 7th 8th definition of 2nd WAIT_PARENT function 2nd 3rd 4th 5th 6th 7th 8th definition of 2nd waitid function 2nd 3rd definition of waitpid function 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd 23rd definition of wall program wc program wchar_t data type WCONTINUED constant 2nd WCOREDUMP function wcrtomb function wcsrtombs function wcstombs function wctomb function Weeks, M S 2nd Weinberger, P J 2nd 3rd 4th 5th Weinstock, C B WERASE terminal character 2nd 3rd 4th WEXITED constant WEXITSTATUS function who program 2nd WIFCONTINUED function WIFEXITED function WIFSIGNALED function WIFSTOPPED function 2nd Williams, T 2nd Wilson, G A window size pseudo terminal terminal 2nd 3rd 4th 5th winsize structure 2nd 3rd 4th 5th 6th 7th 8th Winterbottom, P 2nd WNOHANG constant 2nd WNOWAIT constant 2nd Wolff, R Wolff, S WORD_BIT constant working directory 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th worm, Internet wprintf function Wright, G R write delayed gather 2nd synchronous 2nd write function 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd 23rd 24th 25th 26th 27th 28th 29th 30th 31st 32nd 33rd 34th 35th 36th 37th 38th 39th 40th 41st 42nd 43rd 44th 45th 46th 47th 48th 49th 50th 51st 52nd 53rd 54th 55th 56th 57th 58th 59th definition of write mode, STREAMS write program write_lock function 2nd 3rd 4th 5th writen function 2nd 3rd 4th 5th 6th definition of writev function 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th definition of writew_lock function 2nd 3rd 4th 5th 6th wscanf function WSTOPPED constant WSTOPSIG function WTERMSIG function wtmp file 2nd 3rd Wulf, W A WUNTRACED constant Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] X/Open 2nd 3rd X/Open Portability Guide Issue [See XPG3] Issue [See XPG4] X_OK constant xargs program XCASE constant Xenix 2nd 3rd xinetd program XPG3 (X/Open Portability Guide, Issue 3) 2nd 3rd XPG4 (X/Open Portability Guide, Issue 4) XSI 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd 23rd 24th 25th 26th 27th 28th 29th 30th 31st 32nd 33rd 34th 35th 36th 37th 38th 39th 40th 41st 42nd 43rd 44th 45th 46th 47th 48th 49th 50th 51st 52nd 53rd 54th 55th 56th 57th 58th 59th 60th 61st 62nd XSI IPC XTABS constant Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] Yigit, O 2nd Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] zombie 2nd 3rd 4th 5th 6th ... publisher was aware of a trademark claim, the designations have been printed with initial capital letters or in all capitals The authors and publisher have taken care in the preparation of this... www.awprofessional.com Library of Congress Cataloging -in- Publication Data: Stevens, W Richard Advanced programming in the Unix environment / W Richard Stevens, Stephen A Rago. 2nd ed p cm Includes bibliographical... appear in a filename are the slash character (/) and the null character The slash separates the filenames that form a pathname (described next) and the null character terminates a pathname Nevertheless,

Ngày đăng: 05/11/2019, 15:38

Từ khóa liên quan

Mục lục

  • Advanced Programming in the UNIX® Environment: Second Edition

  • Table of Contents

  • Copyright

  • Praise for Advanced Programming in the UNIX® Environment, Second Edition

  • Praise for the First Edition

  • Addison-Wesley Professional Computing Series

  • Foreword

  • Preface

  • Preface to the First Edition

  • Chapter 1. UNIX System Overview

  • Chapter 2. UNIX Standardization and Implementations

  • Chapter 3. File I/O

  • Chapter 4. Files and Directories

  • Chapter 5. Standard I/O Library

  • Chapter 6. System Data Files and Information

  • Chapter 7. Process Environment

  • Chapter 8. Process Control

  • Chapter 9. Process Relationships

  • Chapter 10. Signals

  • Chapter 11. Threads

  • Chapter 12. Thread Control

  • Chapter 13. Daemon Processes

  • Chapter 14. Advanced I/O

  • Chapter 15. Interprocess Communication

  • Chapter 16. Network IPC: Sockets

  • Chapter 17. Advanced IPC

  • Chapter 18. Terminal I/O

  • Chapter 19. Pseudo Terminals

  • Chapter 20. A Database Library

  • Chapter 21. Communicating with a Network Printer

  • Appendix A. Function Prototypes

  • Appendix B. Miscellaneous Source Code

  • Appendix C. Solutions to Selected Exercises

  • Bibliography

  • Index

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan