如何理解 termios 描述中的以下引用

如何理解 termios 描述中的以下引用

我使用的是 Mac,以下引用来自man termios

当控制终端与会话关联时,其前台进程组将设置为会话领导者的进程组。

为了验证这一点,我打开了一个终端窗口,sleep在前台运行命令,然后打开另一个终端窗口并运行ps

$ ps -o pid,pgid,tpgid,sess,stat,command,tty
  PID  PGID TPGID   SESS STAT COMMAND    TTY
44606 44606 45006      0 S    -bash      ttys000 
45006 45006 45006      0 S+   sleep 3000 ttys000  

其中将前台进程组显示为45006,为了获取会话领导者,我使用getsid和编写了一些 C 代码getpgid,然后获取以下信息:

pid: 45006 pgid: 45006 sid: 44605
pid: 44605 pgid: 44605 sid: 44605

会话领导者是44605登录过程:

$ ps -o pid,pgid,tpgid,sess,stat,command,tty -p 44605
  PID  PGID TPGID   SESS STAT COMMAND          TTY
44605 44605 45006      0 Ss   login -pfl mz /b ttys000

显然,前台进程组45006与会话领导进程组不同44605,我错过了什么?谢谢!

相关内容