Processes

  1. Processes 1 : How do I launch a new separate and independent process from within an application?
  2. Processes 2 : How can I let two separate processes share data between one another? For example, I want to be able to run an application that controls a service, so the application needs to be able to talk to the service.
  3. Processes 3 : How can I create a new process that inherits handles from its parent?
  4. Processes 4 : Would these three command lines produce the same output in the file listab? How would they be similar or different? Explain.
    a. ls | fgrep a | fgrep b > listab
    b. ls > list; fgrep a < list > lista; fgrep b < lista > listab; rm list lista
    c. ls > list & fgrep a < list > lista & fgrep b < lista > listab & rm list lista
  5. Processes 5 : How many distinct processes are generated by the following code fragments? Briefly explain your answer.
    void main() { fork(); fork(); fork(); }
  6. Processes 6 : What a background process? How does it differ from a foreground process?