列表5.5.txt

来自「klinux书籍的配套光盘。可以学习学习。」· 文本 代码 · 共 25 行

TXT
25
字号
【列表5.5】从一个GUI程序中建立一个子进程。
procedure TForm1.Button1Click(Sender: TObject);
var
   pid : pid_t;
   i : integer;
   open_max : integer;
   fname : String;
begin
   pid := fork:
   case pid of
       -1 : ShowMessage ('Error in fork');
       0:
       begin
          { Child closes all file descriptors but stdin, stdout, and stderr}
          open_max := sysconf ( _SC_OPEN_MAX);
          for i := stderr+1 to open_max-1 do
             fnctl (I,F_SETFD, FD_CLOEXEC);
          fname := GetModuleName (0);
          execlp (PChar (fname). PChar (fname). nil);
       end;
       else
          Memo1. Lines.Add (Format ('Forked to child pid %d', [pid]));
     end;
  end;                                               

⌨️ 快捷键说明

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