如果将要接受项目管理的应用程序不具有唯一的可执行文件的名称,则您需要将其进程手动移动到该项目中。使用这一方法,您可以只跟踪所需应用程序的进程。
如果您没有为基于应用程序的项目提供匹配表达式,且要将应用程序的进程逐个移至项目中,请使用以下步骤。
创建一个基于应用程序的项目以管理该应用程序。选择“不使用匹配表达式”复选框。
有关详细信息,请参见创建基于应用程序的项目。
键入以下命令,查看 /etc/project 文件以确定项目名称:
% cat /etc/project |
在步骤 5 中您将用到这一项目名称。
如果需要,请在终端窗口中启动该应用程序。
确定与该应用程序相关联的进程。
移动相应的进程。
重复步骤 5,直至完成所有进程的移动。
您可以组合使用 ps 命令和 grep 命令来检验进程是否已移入容器。以下实例表明单个移动的进程现在均处于容器 payroll 中:
% ps -ae -o pid,project,comm | grep payroll 17773 payroll ora_reco_AcctEZ 17763 payroll ora_pmon_AcctEZ 17767 payroll ora_lgwr_AcctEZ |
如果您知道项目名称,则可以使用 prstat 命令来检验进程是否已移入容器。在这一实例中,项目的名称为 payroll。
% prstat -J payroll PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP 17773 admin 216M 215M cpu2 1 0 0:05:08 29% ora_reco_AcctEZ/1 17763 admin 834M 782M sleep 1 0 0:35:02 0% ora_pmon_AcctEZ/1 17767 admin 364M 352M run 1 0 0:22:05 23% ora_lgwr_AcctEZ/1 |
创建一个基于应用程序的项目来管理该应用程序。选择“不使用匹配表达式”复选框。
有关详细步骤,请参阅创建基于应用程序的项目。
根据不同的 OS 版本选择相应的方法:
对于 Solaris 8 OS,请键入:
% srmuser 用户名 newtask -p 项目名 应用程序名 |
其中,用户名是 UNIX 用户名,项目名的格式为 user.用户名。由于 Solaris 8 OS 仅支持基于用户的容器,因此用户名和项目名相同。
对于 Solaris 9 或 Solaris 10 OS,请键入:
% newtask -p 项目名 应用程序名 |
其中,项目名是与容器相关联的项目,应用程序名是启动该应用程序的命令,包括所有命令参数。
该应用程序将在容器中启动。
以下是启动名为 music 的容器中一个名为 tracks 的应用程序的实例:
% newtask -p music tracks -z 0 mozart.au |
其中,-z 0 mozart.au 是应用程序 tracks 的命令行参数。
在启动应用程序以后,您可以通过键入以下命令来检验该应用程序与哪个项目关联:
% ps -ae -o pid,project,comm |
以下是该命令的屏幕输出实例:
PID PROJECT COMMAND ... 17771 default ora_smon_SunMC 16246 system rquotad 26760 group.staff /bin/csh 16266 music tracks 17777 default ora_d000_SunMC 17775 default ora_s000_SunMC 17769 default ora_ckpt_SunMC |
在这一实例中,应用程序的名称为 tracks,具有 PID 16266;项目的名称为 music;可执行文件的名称为 tracks。这与示例 4–6 中启动的应用程序相同。