gpt4 book ai didi

linux - 我如何监视进程和终端之间的通信?

转载 作者:IT王子 更新时间:2023-10-29 00:31:22 25 4
gpt4 key购买 nike

我有一个由第三方开发的与终端通信的 Linux 进程。对于调试,我希望看到通信返回。

有人可能会认为 cat 会成功(看到一个方向):

    ./third-party-app &
cat /dev/tty

...但事实并非如此。相反,cat 会窃取一半用于应用程序的数据,这几乎毫无值(value)。

third-party-app 被硬编码为 /dev/tty

我发现一种监视通信的方法是将 /dev/tty 设备重命名为 /dev/real_tty 并创建一个名为 /dev/tty 在它的位置。然后运行:

    cat /dev/real_tty | tee /dev/tty &

...通过将数据从 /dev/real_tty 复制到命名管道 ,至少让我看到 /dev/real_tty 的输出/dev/ttystdout

这种方法可行,但感觉非常不可靠,并且依赖于更换设备的技巧。它也不能双向工作,因为命名管道只能在一个方向上传输数据。

正确的做法是什么?

如果有人想知道,TTY 设备是连接到微 Controller 的 RS-232 链路。该信息不敏感或不安全。所有进程(应用程序和 spy )都可以作为 root 运行。

最佳答案

您是否考虑过使用 strace/ltrace ?您可以看到它正在进行的系统调用,特别是您可以看到正在进行的 write/ioctl 等调用。

关于linux - 我如何监视进程和终端之间的通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3410348/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com