LXC(Linux Container) で lxc-attach というコマンドが提供されています。シェルを介すると扱いにくい場面があるので rubyから直接扱えるようにC拡張を書いてみました。 ....のですが 1.8系だと動作し 1.9系だと動かなかったので原因を追ってみました。rubyの処理系の仕様とLXC, カーネルの実装を調べる事で原因を掴めました。 LXCの実装は 新しめのカーネルでのみ使用できるシステムコールや機能が種々含まれており、調査した際に得る物が大きかったです。のでログを整形して公開します。お勉強におつきあいください。 おことわり LXCうんぬんについての前置きははしょって書きます。ご了承ください。 メインラインに取り込まれてないパッチを当てたLinuxカーネルでの検証です lxc-attach もそのパッチあてることで動く 今後のカーネルのリリースで挙動が変わる可