问候,在将旧的 Solaris 2.4 代码移植到 CentOS 5.3 时,我遇到了一个类似的调用
/usr/bin/xterm -S%s%d ...
其中 %s 是两个字符的数字序列 XX,例如 00、01,%d 是数字文件描述符。这显然是一种告诉 xterm 使用 /dev/ttypXX (伪终端从站)的方法,但代码似乎并不打扰打开相应的主站,而是调用 pipe(2) 并将write fd 作为 %d 替换传递以上。在 Solaris 上,从 spawner 写入此 write fd 会导致输出出现在 xterm 子项中。顺便说一句,在 strace(1) 中,我没有看到任何尝试打开 /dev 下的任何内容。