1

実行中の C プログラムは、illumos/solaris の「chroot」で実行されているかどうかをどのように検出できますか?

Linux、freebsd、hurd でいくつかのトリックを使用する Debian ユーティリティ [1] があります。

illumos/solaris でそれを行う方法は?

[1] http://anonscm.debian.org/gitweb/?p=users/clint/debianutils.git;a=blob;f=ischroot.c;h=bed67f9f655d26906e3d65fd290698dce5402a89;hb=HEAD

4

2 に答える 2

2

comp.unix.solarisにこのスレッドがあり、Solaris がゾーン (コンテナ / chroot-on-lots-of-steroids) または VM 内で実行されているかどうかを調べるさまざまな方法について詳しく説明しています。この投稿のリストは特に広範囲です(このブログ投稿から来たようです。ゾーンに関連する項目の一部をここで再作成します - root 以外のユーザーが利用できる項目です。

  • この/usr/bin/zonenameコマンドは、「グローバル」とは異なることを伝えます
  • Solaris カーネルの「プロセス」はsched、ゾーン化されていない (または「グローバル」/管理ゾーン内の) 環境ではあるがzsched、ゾーン内で呼び出されます。
  • Solarisprstatコマンド (top他の UN*X と同様) には-z/-Zコマンド行オプションがあり、レポートを特定のゾーンに制限したり ( ) -z、すべてのゾーンの統計情報を提供したり ( -Z) できます。ゾーン内では、これらのオプションは機能しません。内部で実行しているゾーンのみが表示されます。

それが少し役立つことを願っています。

于 2012-07-13T09:11:47.313 に答える