LoginSignup
8
8

More than 5 years have passed since last update.

golang で コマンドを並列実行するコマンドを作ってみた

Last updated at Posted at 2015-03-07

golang で コマンドを並列実行するコマンドを作ってみた

発端

Windows には png を最適化してくれる pngout というコマンドがあるけれど、CPU を一個しか使ってくれないので簡単に並列実行したかった。

ソース

hokorobi/gompetit

バイナリ

Releases · hokorobi/gompetit

使用例

gompetit -r -P 5 -e png pngout "/c6 /f0" dir1 dir2

これで dir1, dir2 に含まれる png ファイルに対して 5 個 pngout が起動されて処理されます。
ファイルはリカーシブに探しにいきます。

-r を指定しなければ引数のディレクトリ、ファイルに対してコマンドを直接実行します。
コマンドが出力する文字コードは shift-jis を想定しているので、他の文字コードだと文字化けすると思います。多分。
Linux だったら xargs 使えばいいし、気にしない。

参考

感謝!
Big Sky :: Golang の channel の使い所
go - Goで[]byteをshift-jisの文字列に変換する - スタック・オーバーフロー

8
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8