将守护程序(通常永久运行的系统维护进程)添加到某一非根 lnode 的 lnode,有特别重要的意义。附加到根 lndoe 的进程是特别调度的,将给予其所要求的所有 CPU 资源,因而不建议将任何有可能是 CPU 密集型的进程附加到根 lnode。将守护程序附加到其自己的 lnode,使得中央管理员可以为其分配一个合适的 CPU 份额。
在启动过程中,每个新的进程均会从其父进程继承其 lnode 附加状态。鉴于 init(1M)进程是附加到根 lnode 的,因而所有后续的进程也是如此。直到运行 Solaris Resource Manager 初始化正文并打开 lnode 数据库,才能将进程附加到其它的 lnode,不仅如此,还需要某个进程进行显式的 setuid(2)系统调用(诸如 login(1)),或者明显地要求 Solaris Resource Manager 附加到一个已命名的lnode,诸如 srmuser(1SRM)命令的操作。运行某一程序时设置了 setuid 文件模式位,并不导致 lnode 附加状态发生变化。
其后果是所有在系统启动过程中自动启动的系统程序,均将附加到根 lnode。这经常是不需要的,因为任何附加到根 lnode 的进程如果变为 CPU 密集型,则将严重破坏其它进程的执行。因此,建议将作为启动过程一部分而启动的任何守护程序明确地,均附加到其自己的 lnode,方法是使用 srmuser(1SRM)命令来加以调用。这不会影响其真实而有效的 UID。
这里显示的是一个可能的例子:
# /usr/srm/bin/srmuser Start in.named attached to the my_daemons lnode. |
这些行可以用于替换其启动正文中现有的对 named(1M)守护程序的调用。这需要在事先为"网络"创建一个用户帐户和 lnode。