( /LYNX/UNIXFAQ/unixprogrfaq.txt )


  • Unix Programming FAQ (v1.24)
  • About this FAQ

  • 1.1 Creating new processes: fork()
  • 1.1.1 What does fork() do?
  • 1.1.2 What's the difference between fork() and vfork()?
  • 1.1.3 Why use _exit rather than exit in the child branch of a fork?
  • 1.2 Environment variables
  • 1.2.1 How can I get/set an environment variable from a program?
  • 1.2.2 How can I read the whole environment?
  • 1.3 How can I sleep for less than a second?
  • 1.4 How can I get a finer-grained version of alarm()?
  • 1.5 How can a parent and child process communicate?
  • 1.6 How do I get rid of zombie processes?
  • 1.6.1 What is a zombie?
  • 1.6.2 How do I prevent them from occuring?
  • 1.7 How do I get my program to act like a daemon?
  • 1.8 How can I look at process in the system like ps does?
  • 1.9 Given a pid, how can I tell if it's a running program?
  • 1.10 What's the return value of system/pclose/waitpid?
  • 1.11 How do I find out about a process' memory usage?
  • 1.12 Why do processes never decrease in size?
  • 1.13 How do I change the name of my program (as seen by 'ps')?
  • 1.14 How can I find a process' executable file?
  • 1.14.1 So where do I put my configuration files then?

  • 2.1 How to manage multiple connections?
  • 2.1.1 How do I use select()?
  • 2.1.2 How do I use poll()?
  • 2.1.3 Can I use SysV IPC at the same time as select or poll?
  • 2.2 How can I tell when the other end of a connection shuts down?
  • 2.3 Best way to read directories?
  • 2.4 How can I find out if someone else has a file open?
  • 2.5 How do I 'lock' a file?
  • 2.6 How do I find out if a file has been updated by another process?
  • 2.7 How does the 'du' utility work?
  • 2.8 How do I find the size of a file?
  • 2.9 How do I expand '~' in a filename like the shell does?
  • 2.10 What can I do with named pipes (FIFOs)?
  • 2.10.1 What is a named pipe?
  • 2.10.2 How do I create a named pipe?
  • 2.10.3 How do I use a named pipe?
  • 2.10.4 Can I use a named pipe across NFS?
  • 2.10.5 Can multiple processes write to the pipe simultaneously?
  • 2.10.6 Using named pipes in applications

  • 3.1 How can I make my program not echo input?
  • 3.2 How can I read single characters from the terminal?
  • 3.3 How can I check and see if a key was pressed?
  • 3.4 How can I move the cursor around the screen?
  • 3.5 What are pttys?
  • 3.6 How to handle a serial port or modem?

  • 4.1 How can I tell how much memory my system has?
  • 4.2 How do I check a user's password?
  • 4.2.1 How do I get a user's password?
  • 4.2.2 How do I get shadow passwords by uid?
  • 4.2.3 How do I verify a user's password?

  • 5.1 How do I compare strings using wildcards?
  • 5.1.1 How do I compare strings using filename patterns?
  • 5.1.2 How do I compare strings using regular expressions?
  • 5.2 What's the best way to send mail from a program?
  • 5.2.1 The simple method: /bin/mail
  • 5.2.2 Invoking the MTA directly: /usr/lib/sendmail
  • 5.2.2.1 Supplying the envelope explicitly
  • 5.2.2.2 Allowing sendmail to deduce the recipients

  • 6.1 How can I debug the children after a fork?
  • 6.2 How to build library from other libraries?
  • 6.3 How to create shared libraries / dlls?
  • 6.4 Can I replace objects in a shared library?
  • 6.5 How can I generate a stack dump from within a running program?

  • Size: 100100 bytes
    Last-modified: Wed, 19 Nov 1997 11:35:14 GMT

    40: [1][2][3]