Solaris效力打点东西 SMF快速入门指南(3)

作者: FOXL 出处:51CTO论坛清算 



 ◆调查效力

在晚期版本的 Solaris 中,检查可用效力的独一步伐是运用 ps(1) 命令,并列出体系上全数的活动进程,然后检查与效力使用顺序的称呼相婚配的进程称呼。遗憾的是,由于大大都体系都有许多进程,而且每次发行新版本的 Solaris 以及添加其他软件包时都会引入新效力,因此运用此步伐进行跟踪特别很是艰巨。如今的许多效力已不再作为单个进程施行,这使得情况愈加复杂。某些效力作为一系列进程或多线程进程施行,或许同时以这两种体例施行。

运用新的 svcs(1) 命令,可以更随意马虎地调查体系效力的状况。"-p" 选项可施展阐发与效力关联的全数进程:

% svcs -p network/smtp:sendmail

STATE STIME FMRI
online 18:20:30 svc:/network/smtp:sendmail
18:20:30 655 sendmail
18:20:30 657 sendmail

% ps -fp 655,657

UID PID PPID C STIME TTY TIME CMD
root 655 1 0 18:20:30 ? 0:01 /usr/lib/sendmail -bd -q15m
smmsp 657 1 0 18:20:30 ? 0:00 /usr/lib/sendmail -Ac -q15m

"-d" 选项可施展阐发此效力所依托的其他效力,而 "-D" 选项可施展阐发依托于此效力的其他效力:

% svcs -d network/smtp:sendmail

STATE STIME FMRI
online 18:20:14 svc:/system/identity:domain
online 18:20:26 svc:/network/service:default
online 18:20:27 svc:/system/filesystem/local:default
online 18:20:27 svc:/milestone/name-services:default
online 18:20:27 svc:/system/system-log:default
online 18:20:30 svc:/system/filesystem/autofs:default
% svcs -D network/smtp:sendmail
STATE STIME FMRI
online 18:20:32 svc:/milestone/multi-user:default

我们可以看到,sendmail 要求在运转之前先运转收集效力、外地文件体系效力、称呼效力、体系日志捍卫进程以及自动装置捍卫进程,而且 sendmail 本身必需在抵达多用户紧张事件之前运转。效力启开工夫(STIME 列)注解已遵循这些相关性。

 ◆转变运转级别
SMF 引入了紧张事件 (milestone)的概念,它替代了传统的运转级别概念。运转级别对策画机上运转的一组效力进行了根基形貌,这些效力常日分为一个用户登录到策画机控制台所需的效力(运转级别 S),以及多个用户登录到策画机所需的效力(运转级别 2 和 3)。这些体系状况在 SMF 中施展阐发为紧张事件,紧张事件是代表一组其他效力的坚定效力。"svcs -d" 可用于检查必需在抵达紧张事件之前运转的效力。

svcadm(1M) 如今是设置体系缺省运转级别的首选步伐。此步伐是运用 milestone 子命令和有效紧张事件的 FMRI 完成的:
----------------------------------------------------------------------------------------------
旧步伐:编纂 /etc/inittab
SMF 步伐:svcadm milestone -d milestone/single-user:default
----------------------------------------------------------------------------------------------
"-d" 选项施展阐发缺省 (default) 紧张事件应该设置为指定的 FMRI。若是不运用 "-d",则 "svcadm milestone" 会立即将体系转换到指定的紧张事件。

指点进程已更新为可以识别紧张事件。除了传统的 "boot -s"(指点到单用户方式)之外,如今还可以经过进程 "boot -m milestone=" 指点到指定的紧张事件。 可以是 "single-user"、"multi-user" 或 "multi-user-server",以及特别的紧张事件 "all"(全数已启用的联机效力)和 "none"(无任何效力)。"none" 紧张事件关于修复在指点进程初期产生缺点的体系可能特别很是有效。

指点到单用户紧张事件(运用 "-m milestone=single-user")和旧的 "boot -s" 略有不合。若是体系已明白指点到某个紧张事件,则插足控制台打点 shell 时不会像 "boot -s" 一样将体系转换到多用户方式。要在运转 "boot -m milestone=single-user" 之后转到多用户方式,请运用命令 "svcadm milestone milestone/multi-user-server:default"。

 ◆启用、禁用和看管传统效力
平凡说来,由传统 rc 剧本启动的效力(也称为传统效力)将持续以原始体例使命。这些效力将在 svcs(1) 的输出中施展阐发,同时还施展阐发 FMRI(基于效力 rc 剧本的路子名),但它们不受 svcadm(1M) 控制。应该经过进程间接运转 rc 剧本住手或启动这些效力。

如“显明的转变”局部所述,与晚期版本的 Solaris 不合,rc 剧本可能不会在指点进程中的同暂且刻运转。特别是,必需在 Solaris 供应的某些 rc 剧本之前运转的剧本可能会泛起效果。可是,绝大大都剧本都应该可以持续使命,而不会泛起任何效果。

 ◆将新效力添加到 inetd.conf
Internet 效力捍卫进程 inetd(1M) 已从新编写为 SMF 的一局部。它将全数设置数据都存储在 SMF 数据库(而不是 /etc/inet/inetd.conf)中,从而同意运用 SMF 东西控制和调查基于 inetd 的效力。大大都 Solaris 随附的基于 inetd 的效力在 inetd.conf 中不再有任何条目。为了对尚未转换为 SMF 的效力供应兼容性,仍然可以运用惯用的语法将条目添加到 inetd.conf 中,而新的 inetconv(1M) 命令可将新效力转换为 SMF 效力。inetconv 应该一向在编纂 /etc/inet/inetd.conf 之后运转;运转该命令时可以不运用任何参数。

具体信息

方法会有关 SMF 的具体信息,请拜见以下文档:

 ◆ SMF 体系打点指南。

 ◆ 手册页(可在装置了 Solaris 10 的任何策画机上获取):

○ inetadm(1M)
○ inetconv(1M)
○ inetd(1M)
○ kernel(1M)
○ smf(5)
○ smf_bootstrap(5)
○ smf_method(5)
○ svc.startd(1M)
○ svcadm(1M)
○ svccfg(1M)
○ svcprop(1)
○ svcs(1)




版权声明: 原创作品,同意转载,转载时请务必以超链接方式标明文章 原始出处 、作者信息和本声明。不然将究查法律责任。

原文地址:https://www.cnblogs.com/zgqjymx/p/1974910.html