UNIX PROGRAMMING FAQ
     
      What does fork() do?
  
  
  
  
 #include       
      What's the difference between fork() and vfork()?
   
  
 Some systems have a system call      
      Why use _exit rather than exit in the child branch of a fork?
   
  
 There are a few dif      
      Creating new processes: fork()
  
  
 
  
         
      What's the return value of system/pclose/waitpid?
  
  
  
  
  
  
 The return value of       
      How do I find out about a process' memory usage?
   
  
 Look at  getrusage() , if availa      
      Why do processes never decrease in size?
   
  
 When you free memory back to the heap wi      
      How do I change the name of my program (as seen by `ps')?
   
  
 On BSDish systems, the       
      So where do I put my configuration files then?
   
  
 The correct directory for this usu      
      How can I find a process' executable file?
   
  
 This would be a good candidate for a l      
      Why doesn't my process get SIGHUP when its parent dies?
   
  
 Because it's not supposed      
      How can I kill all descendents of a process?
   
  
 There isn't a fully general approach      
      How can I get/set an environment variable from a program?
   
  
 Getting the value of an      
      How can I read the whole environment?
   
  
 If you don't know the names of the environm      
      Environment variables
  
  
 
  
         
      How can I sleep for less than a second?
   
  
 The  sleep()  function, which is availabl      
      How can I get a finer-grained version of alarm()?
   
  
 Modern Unixes tend to implement      
      How can a parent and child process communicate?
   
  
 A parent and child can communicat      
      What is a zombie?
   
  
 When a program forks and the child finishes before the parent,       
      How do I prevent them from occuring?
   
  
 You need to ensure that your parent process       
      How do I get rid of zombie processes?
  
  
 
  
         
      How do I get my program to act like a daemon?
   
  
 A  daemon  process is usually defin      
      How can I look at process in the system like ps does?
   
  
 You really  don't  want to       
      Given a pid, how can I tell if it's a running program?
   
  
 Use  kill()  with 0 for th      
      How do I use select()?
   
  
 The interface to  select()  is primarily based on the conc      
      How do I use poll()?
   
  
  poll()  accepts a pointer to a list of  struct pollfd , in
      
      Can I use SysV IPC at the same time as select or poll?
   
  
  No.  (Except on AIX, whic      
      How to manage multiple connections?
  
  
  
  
  
  
 I have to monitor more than one (f      
      What is a named pipe?
   
  
 A  named pipe  is a special file that is used to transfer d      
      How do I create a named pipe?
   
  
 To create a named pipe interactively, you'll use ei      
      How do I use a named pipe?
   
  
 To use the pipe, you open it like a normal file, and u      
      Can I use a named pipe across NFS?
   
  
 No, you can't. There is no facility in the NFS      
      Can multiple processes write to the pipe simultaneously?
   
  
 If each piece of data wr      
      Using named pipes in applications
  
  
  
  
  
  
 How can I implement two way communic      
      What can I do with named pipes (FIFOs)?
  
  
 
  
         
      How can I tell when the other end of a connection shuts down?
   
  
 If you try to read       
      Best way to read directories?
   
  
 While historically there have been several differen      
      How can I find out if someone else has a file open?
   
  
 This is another candidate for      
      How do I `lock' a file?
   
  
 There are three main file locking mechanisms available. A      
      How do I find out if a file has been updated by another process?
   
  
 This is close to      
      How does the `du' utility work?
   
  
  du  simply traverses the directory structure cal      
      How do I find the size of a file?
   
  
 Use  stat() , or  fstat()  if you have the file      
      How do I expand `~' in a filename like the shell does?
   
  
 The standard interpretatio      
      How can I make my program not echo input?
  
  
  
  
  
  
 How can I make my program no      
      How can I read single characters from the terminal?
  
  
  
  
  
  
 How can I read sin      
      How can I check and see if a key was pressed?
  
  
  
  
  
  
 How can I check and see       
      How can I move the cursor around the screen?
  
  
  
  
  
  
 How can I move the cursor      
      What are pttys?
   
  
 Pseudo-teletypes (pttys, ptys, other variant abbreviations) are
       
      Serial device names and types
   
  
 The device names used for serial port devices vary       
      Setting up termios flags
   
  
 Some hints on setting up the termios flags when using a       
      How to handle a serial port or modem?
   
  
 The handling of serial devices under Unix i      
      How can I tell how much memory my system has?
   
  
 This is another `Frequently Unanswe      
      How do I get a user's password?
   
  
 Traditionally user passwords were kept in the  `/      
      How do I get shadow passwords by uid?
  
  
  
  
  
  
 My system uses the getsp* suite       
      How do I verify a user's password?
   
  
 The fundamental problem here is, that various       
      How do I check a user's password?
  
  
 
  
         
      How do I compare strings using filename patterns?
   
  
 Unless you are unlucky, your sy      
      How do I compare strings using regular expressions?
   
  
 There are a number of slightl      
      How do I compare strings using wildcards?
   
  
 The answer to  that  depends on what ex      
      The simple method: /bin/mail
   
  
 For simple applications, it may be sufficient to inv      
      Invoking the MTA directly: /usr/lib/sendmail
   
  
 The  mail  program is an example of       
      What's the best way to send mail from a program?
   
  
 There are several ways to send e      
      How can I debug the children after a fork?
   
  
 Depending on the tools available there      
      How to build library from other libraries?
   
  
 Assuming we're talking about an archiv      
      How to create shared libraries / dlls?
   
  
 The precise method for creating shared lib      
      Can I replace objects in a shared library?
   
  
 Generally, no.
  
 
  
  
  
  
  
 On      
      How can I generate a stack dump from within a running program?
   
  
 Some systems provi    
 
 
 
 
 
  
 
  
 
 
 
 
 
 
 
  
 
 $Id: rawfaq.texi,v 1.37 2000/09/01 06:34:57 andrew Exp $
 
Home
 
 
 
FAQ