中の人を殺すゾ

mm-blue-w-textとあるドキュメントの翻訳をしている。静的なWebサイトを作成するのに、middleman というツールを使っている。

ビルドが終わると内蔵のWebサーバが起動するので、ブラウザですぐさま結果を確認することができてとても便利だ。しかし、CTRL+C でサーバを落とすことができることになっているのだが、

== The Middleman is standing watch on port 4567
^Clog writing failed. can't be called from trap context
^Clog writing failed. can't be called from trap context
^Clog writing failed. can't be called from trap context

ということになって、ちっとも終了できない。Google先生にお尋ねしたところ、これは MiddlemanのBug であるらしい。

新しいバージョンもでているようだが、バージョンの依存関係がややこしそうなので躊躇してしまう。

しかたがないので、プロセスを殺すことにした。以下がそのスクリプト。

#! /bin/bash
kill -9 `ps ax | grep middleman | grep -v grep | awk '{print $1}'`

ps でプロセスIDを取得して、grepawk で必要なIDだけを抜き取り、kill でシグナルを投げるという、原始的な方法だ。これに適当な名前を付けて、別のターミナルウィンドウから実行すれば、期待通りに死んでくれる。

追記

pkill -9 -f middleman だと、名前指定で殺せた。こんなコマンドしらんがや。

投稿者:

azira

何でもやったけれど、みんな中途半端なプログラマくずれの一匹うさぎ。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>