1

我想要做的是cat /proc/{pid}/fd/{fd-id}在 OSX 中复制。

我知道它可以使用 gdb 来完成。

过程是。

假设我想从 pid 4554 的 fd 34 中读取。

  1. 运行 gdb 并附加到 pid 4554。
  2. 使用“w”模式打开文件。(写入我们读取的 {fd-id} 的数据。假设这个文件的 fd 是 65。
  3. fseek fd 34 到 0。
  4. 开始一个循环。
  5. 从 fd 34 读取一些数据,将其保存到内存中。
  6. 将缓冲的数据从内存写入 fd 65。
  7. 继续运行此循环,直到达到 fd 34 的 EOF。
  8. 关闭 fd 65。
  9. 从 pid 4554 分离并关闭 gdb。

现在我真的不太了解 gdb 所以有人能说如何在 gdb 命令中执行上述步骤吗?

4

0 回答 0