私がやろうとしているのはcat /proc/{pid}/fd/{fd-id}
、OSX で複製することです。
gdbを使用して実行できると思います。
プロセスは。
pid 4554 の fd 34 から読み取りたいとします。
- gdb を実行し、pid 4554 にアタッチします。
- 'w' モードを使用してファイルを開きます。({fd-id} から読み取ったデータを書き込むため。このファイルの fd が 65 であるとします。
- fseek fd 34 を 0 にします。
- ループを開始します。
- fd 34 からいくつかのデータを読み取り、メモリに保存します。
- バッファリングされたデータをメモリから fd 65 に書き込みます。
- fd 34 の EOF に達するまで、このループを実行し続けます。
- fd 65 を閉じます。
- pid 4554 から切り離し、gdb を閉じます。
今、私はgdbをあまり知らないので、gdbコマンドで上記の手順を実行する方法を誰か教えてもらえますか?