socat
可用于监控跨 Unix 域套接字的流量:
sudo mv /path/to/sock /path/to/sock.original
sudo socat -t100 -x -v UNIX-LISTEN:/path/to/sock,mode=777,reuseaddr,fork UNIX-CONNECT:/path/to/sock.original
Run Code Online (Sandbox Code Playgroud)
我不太明白这个机制是如何工作的,希望有人能解释一下。特别是,如果进程已经在侦听套接字文件,移动套接字文件如何工作?此外,在移动之后:既不lsof /path/to/sock
也不/path/to/sock.original
返回任何结果。
在 Ubuntu/gnome-terminal 中,如果我运行:
$ stty -icrnl
Run Code Online (Sandbox Code Playgroud)
然后启动 GHC 交互环境(一个 Haskell 控制台):
$ ghci
Run Code Online (Sandbox Code Playgroud)
然后按Return不提交行;然而,Enter确实如此。
但是,与:
$ stty icrnl
Run Code Online (Sandbox Code Playgroud)
双方Return并Enter提交该行。
我不太理解这种行为;Return在这两种情况下肯定会提交换行符吗?