上一主题: 内核加载 Exit 的工作方式下一主题: 与 LDAP 交互


内核卸载 Exit 的工作方式

为了能够控制操作系统和第三方进程,CA ControlMinder 允许在卸载 CA ControlMinder 内核扩展时自动调用 UNIX exit。

运行 SEOS_load -u 时,CA ControlMinder 将执行以下操作:

  1. 查找以下目录中的程序:
    ACInstallDir/exits/LOAD
    
  2. 选择具有以下格式的文件名的所有程序:
    SEOS_unload_string.always
    

    其中 string 可以为任何描述性字符串。

  3. 按照词典编纂顺序执行在目录 ACInstallDir/exits/LOAD 中找到的每个文件:
    SEOS_load_string.always -pre
    

    每个文件都用 -pre 参数执行,以便写入 exit 来检测该参数并在卸载内核之前执行必要的操作。

    注意:如果 exit 返回非零值,则 CA ControlMinder 将终止 exit 进程、显示错误消息并中止内核卸载。

  4. 尝试卸载内核。

    如果内核无法卸载:

    1. 选择具有以下格式的文件名的所有程序:
      	SEOS_unload_string.opt
      
    2. 按照词典编纂顺序执行在目录 ACInstallDir/exits/LOAD 中找到的每个文件:
      	SEOS_unload_string.opt -pre
      

      每个文件都用 -pre 参数执行,以便写入条件 exit 以检测该参数并在卸载内核之前执行其他可选的必要操作。

      注意:如果 exit 返回非零值,则 CA ControlMinder 将终止 exit 进程、显示错误消息并中止内核卸载。

    3. 卸载内核。
    4. 按照词典编纂顺序执行在目录 ACInstallDir/exits/LOAD 中找到的每个文件:
      	SEOS_unload_string.opt -post
      

      每个文件都用 -post 参数执行,以便写入条件 exit 以检测该参数并在卸载内核之前执行其他可选的必要操作。

      注意:如果 exit 返回非零值,则 CA ControlMinder 将终止 exit 进程并显示错误消息。 CA ControlMinder 内核卸载后一直保持卸载状态。

  5. 按照词典编纂顺序执行在目录 ACInstallDir/exits/LOAD 中找到的每个文件:
    SEOS_unload_string.always -post
    

    每个文件都用 -post 参数执行,以便可以写入 exit 来检测该参数并在加载内核后执行所需的操作。

    注意:如果 exit 返回非零值,则 CA ControlMinder 将终止 exit 进程并显示错误消息。 CA ControlMinder 内核卸载后一直保持未加载状态。