2010-02-20

Solarisで自動起動するプログラムを制御するメモ

KVMでSolarisが使えるようになったのはいいものの、X Windowが立ち上がっているとメモリの消費が激しくてもっさりした動作になってしまいます。
わざわざ仮想マシンでブラウザ使ったりすることもないので、X Windowはデフォルトで立ち上がってほしくありません。

Debianでは/etc/init.d/で制御できますが、SolarisではSMFという仕組みがあるようです。
http://sy2920.s151.xrea.com/solaris/smf.html

とりあえずsvcsコマンドでサービスの情報を見てみます。
$ svcs | head
STATE          STIME    FMRI
legacy_run      6:57:56 lrc:/etc/rc2_d/S20sysetup
legacy_run      6:57:57 lrc:/etc/rc2_d/S47pppd
legacy_run      6:57:57 lrc:/etc/rc2_d/S72autoinstall
legacy_run      6:57:57 lrc:/etc/rc2_d/S73cachefs_daemon
legacy_run      6:57:57 lrc:/etc/rc2_d/S81dodatadm_udaplt
legacy_run      6:57:57 lrc:/etc/rc2_d/S89PRESERVE
legacy_run      6:57:57 lrc:/etc/rc2_d/S98deallocate
disabled        6:55:22 svc:/system/xvm/ipagent:default
online          6:54:44 svc:/system/svc/restarter:default
 今回無効にしたいのはX Windowですが、親プロセスの名前が分からないのでpstreeをしてみます。
 |-+- 01059 root /usr/sbin/gdm-binary
 | \-+- 01060 root /usr/sbin/gdm-binary
 |   |--- 01081 root /usr/openwin/bin/fbconsole -n -d :0
 |   |--- 01061 root /usr/X11/bin/Xorg :0 -depth 24 -nolisten tcp -audit 0 -br
 |   \--- 01084 gdm /usr/lib/gdmgreeter
どうやらgdmなんとか、というサービスを殺せば良いようです。
$ svcs -l gdm
fmri         svc:/application/graphical-login/gdm:default
name         GNOME Display Manager
enabled      true
state        online
next_state   none
state_time   2010年02月20日 07時55分03秒
logfile      /var/svc/log/application-graphical-login-gdm:default.log
restarter    svc:/system/svc/restarter:default
contract_id  100
dependency   require_all/none svc:/system/filesystem/local (online)
dependency   require_all/error svc:/milestone/multi-user:default (online)
dependency   require_all/none svc:/milestone/sysconfig (online)
dependency   optional_all/none svc:/system/xvm/vnc-config (online)
dependency   require_all/none svc:/application/font/fc-cache (online)
dependency   require_all/none svc:/system/utmp (online)
dependency   require_all/none svc:/system/hal (online)
dependency   optional_all/none svc:/application/opengl/ogl-select (online)
dependency   optional_all/none svc:/application/desktop-cache/mime-types-cache (online)
dependency   optional_all/none svc:/application/desktop-cache/desktop-mime-cache (online)
dependency   optional_all/none svc:/application/desktop-cache/pixbuf-loaders-installer (online)
dependency   optional_all/none svc:/application/desktop-cache/icon-cache (online)
dependency   optional_all/none svc:/application/desktop-cache/gconf-cache (online)
dependency   optional_all/none svc:/application/desktop-cache/input-method-cache (online)


svcadmでgdmをdisableします。
$ sudo svcadm disable gdm

きれいにX Windowが死にました。
ちなみに使っているSolarisのバージョンではデフォルトでプロセス監視デーモンが起動しているみたいで、単にgdmをkillしただけでは、自動的に再起動がかかってしまいます。

0 件のコメント:

コメントを投稿

ZenBackWidget