FreeBSD:プロセス内で自身をJailしているプロセスをホスト側rcスクリプトで停止する方法はないでしょうか?

mod_jail(http://www.freebsd.org/cgi/cvsweb.cgi/ports/www/mod_jail/)を使用してhttpdプロセスのみjail()しています。
種々動作チェックをしてほぼ問題無い状況なのですが、標準のrcスクリプトでhttpdを止められない点だけうまい解決策が見つかっていません。
環境:OS - FreeBS D8.0-RELEASE, httpd - Apache 2.2.14(portsから), mod_jail-0.4(portsから)
mod_jailはApache用のモジュールで、httpdの起動時にhttpdプロセス自身をjail()します。
標準のrcスクリプト(/usr/local/etc/rc.d/apache22 + /etc/rc.subr)では、ホスト配下のプロセスに関して個別にjidを確認しないようになっていると理解しています。
その為、起動(start)時は問題ないものの、停止(stop)時にhttpdのプロセスを見つけられず、停止できません。(手動でTERMシグナル送ってやればいけます)
今のところ、rc.d/apache22にjidを格納する変数を追加、rc.subr側でその変数がセットされていた場合pid,jidの一致でプロセスを探すように手を加えています。
アドホックなやり方で今ひとつ不満があるので、もう少しスマートな方法があれば教えて頂けないでしょうか。

回答の条件
  • 1人1回まで
  • 登録:2010/02/07 20:36:14
  • 終了:2010/02/14 19:16:43

回答(1件)

id:IlO10l0Il No.1

IlO10l0Il回答回数1757ベストアンサー獲得回数812010/02/11 22:24:00

スクリプトでの停止は無理だと思います。

物理的にプロセスを見つけられないはずです。

id:mystashes

ご回答有難う御座います。

私の質問内容通り、改変によりスクリプトからの停止は可能です。

その実装方法が強引だと感じているので、元々rcスクリプトに用意されている変数・関数群を利用して実現できないでしょうかという質問となります。

2010/02/11 23:51:17
  • id:mystashes
    IlO10l0Ilさんご回答には感謝致しますが、内容的には残念ながらポイントを差し上げられません。
    キャンセルとさせて頂きます。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません