関連記事
GitHub - devlights/blog-summary: ブログ「いろいろ備忘録日記」のまとめ
概要
以下、自分用のメモです。
Linux上でCPUやメモリやプロセスの情報を取得したりして処理する必要があったので、ちょっとライブラリを探してみたら
という便利なライブラリが見つかりました。/procファイルシステムの情報を扱いやすくしてくれます。
とても便利だったので、自分用に使い方のメモ残しておこうと思います。
サンプル(自プロセス情報)
main.go
package main import ( "log" "github.com/prometheus/procfs" ) func main() { log.SetFlags(0) if err := run(); err != nil { log.Fatal(err) } } func run() error { var ( p procfs.Proc err error ) p, err = procfs.Self() if err != nil { return err } var ( cmdline []string ) cmdline, err = p.CmdLine() if err != nil { return err } log.Printf("[Self] pid=%d, cmdline=%v", p.PID, cmdline) return nil }
実行結果
$ task task: [default] rm -f ./app task: [default] go build -o app . task: [default] ./app [Self] pid=21966, cmdline=[./app] task: [default] ./app hello world 1 2 3 4 5 [Self] pid=21972, cmdline=[./app hello world 1 2 3 4 5]
参考情報
try-golang/examples/procfs/self at main · devlights/try-golang · GitHub
Goのおすすめ書籍
過去の記事については、以下のページからご参照下さい。
サンプルコードは、以下の場所で公開しています。