数年前に、他のターミナルの操作をのぞき見できるttylogというツールについて書いてたのだけど、そのツールの動作を調べてGolangで書き直したという内容の記事を見かけた。
読んでいると、どうやらttylogは以下のステップで他のターミナルの内容をのぞき見しているらしい。
- ttyのログインプロセスのIDを調べる
- pidに対してstraceコマンドを使ってシステムコール(read/write)を見る
- straceの内容を加工して出力する
…あれ? このくらいの内容なら、straceを使ってgrepや...