⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tfork.c

📁 《CODE READING》配套书源代码 《CODE READING》配套书源代码
💻 C
字号:
// Copyright (C) 1992-1996 Gnanasekaran Swaminathan <gs4t@virginia.edu>//// Permission is granted to use at your own risk and distribute this software// in source and  binary forms provided  the above copyright notice and  this// paragraph are  preserved on all copies.  This software is provided "as is"// with no express or implied warranty.//// Version: 12Jan97 1.11#include <iostream.h>#include <Fork.h>static void print (char* name, pid_t child){  if (child) {    cerr << "Parent " << getppid () << "; "      << name << ' ' << getpid () << "; Child " << child << ";\n";  } else if (0) {    cerr << "Parent " << getppid () << "; "      << name << "'s child " << getpid () << ";\n";  }}int main (int ac, char** av){  Fork::suicide_signal (SIGTERM);  Fork a(0, 1);    print ("a", a.process_id ());  if (a.is_child ()) {    sleep (3000);  } else if (a.is_parent ()) {    Fork b (1, 1);    print ("b", b.process_id ());    {      Fork c (b.is_parent (), 1);      if (b.is_child ())	print ("cchild", c.process_id ());      else	print ("cparent", c.process_id ());      if (c.is_child ()) {	sleep (3000);	return 0;      }    }    if (b.is_child ()) {      sleep (120);      return 0x8;    }  }  return 0;}      

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -