为什么 /fd/1 (stdout) 是一个套接字?

为什么 /fd/1 (stdout) 是一个套接字?

我正在将游戏服务器作为systemd服务运行,在.service文件中,我看到 StandardOutput 默认为日志。

Ihsan@IhsanServerVM:/proc/28617/fd$ file 1
1: symbolic link to socket:[510374]

然后,如果我检查进程文件描述符1/proc/.../fd/1它是一个套接字。

如果我尝试使用 读取它read -u 1,它不会执行任何操作,即使服务器正在输出到stdout.

为什么是插座?它应该是一个命名管道吧?

相关内容