El otro día, mientras trabajaba en un problema en las instalaciones de un cliente, me di cuenta y mencioné que había dos conjuntos de procesos de aplicación en ejecución, uno con un nombre genérico como Production.SysAdmin y otro, que llevaba más de tres años en funcionamiento, con el nombre de una persona, llamémosle Fred.SysAdmin. Resulta que Fred había dejado la empresa hacía tiempo. No estoy diciendo que Fred tuviera ninguna intención maliciosa, pero se me ocurrió que una de las «buenas prácticas» que siempre se mencionan es cancelar las credenciales de inicio de sesión de Fred inmediatamente después de que abandone la empresa, quizás justo antes de comunicarle que va a dejar la empresa. Pero nunca he oído hablar de ninguna buena práctica sobre la cancelación de los procesos que Fred había iniciado. Dado el tiempo que transcurre entre los reinicios de los sistemas VOS, estoy seguro de que este escenario no es único. Sugiero que, además de cancelar las credenciales de inicio de sesión cuando alguien abandona la empresa, se evalúen todos los procesos que se ejecutan con el nombre de esa persona o que ejecutan un módulo de programa creado por ella, se programe su cancelación y, si se considera necesario, se reinicien por un empleado actual. Del mismo modo, se debe revisar la cola de lotes y evaluar todas las solicitudes con el nombre de la persona, cancelarlas y, si se considera necesario, volver a enviarlas por un empleado actual.
Para comprobar la cola de lotes, puede utilizar el comando
listar_solicitudes_por_lote -todo -detallado
y busca el nombre de Fred como «usuario».
|
Request: 59User: Fred.SysAdmin Time queued: 10-08-11 05:00:02 edt Deferred until: 10-08-12 05:00:00 edt Attributes: waiting, not privileged, cannot restart Process priority: 5 Queue priority: 4 Process name: test Command: test.cm Output path: %system#m16_mas>SysAdmin>Fred>test.out Home dir: %system#m16_mas>SysAdmin>Fred Notify users: Fred.* on %system#* |
Puede utilizar el comando
analizar_sistema -línea_de_solicitud (cadena coincidente con fred (byte 3Bx) quién) -salir
para identificar los procesos que se ejecutan bajo el nombre de Fred.
analyze_system -request_line (string match fred (byte 3Bx) who) -quit OpenVOS Release 17.0.2ah, analyze_system Release 17.0.2ah Current process is 182, ptep 958C5000, Noah_Davids.CAC * 162 958C5000 551080B6 Fred.SysAdmin (testing) |
La siguiente macro de comando se puede utilizar para encontrar cualquier módulo de programa en ejecución creado por Fred, independientemente del nombre con el que se ejecute el proceso. La macro crea una lista de todos los módulos de programa en ejecución y, a continuación, ejecuta display_file_status para determinar quién creó el archivo del módulo de programa y display_program_module para determinar quién vinculó el módulo de programa. Cualquier módulo de programa creado o vinculado por alguien con un nombre que coincida con la cadena de entrada se muestra junto con los procesos que ejecutan ese módulo de programa. También crea un informe en el directorio actual con el nombre wr_&NAME&.(fecha).out, donde &NAME& es el argumento dado a la macro. Todos los nombres se traducen a minúsculas. Si no se proporciona ningún nombre, se muestra información sobre cada módulo de programa en ejecución y el informe se denomina wr.(fecha).out.
whos_running fred%phx_vos#m15_mas>SysAdmin>George>loop.pmAtado por: Fred.SysAdmin Creado: George.SysAdmin loop.pm: El objeto está bloqueado en lectura por George.SysAdmin (bucle) en el módulo. %phx_vos#m16 ejecutando loop.pm.============================================================%phx_vos#m15_mas>Producción>prueba>ftpd.pm Vinculado por: Stcp_Install.Installer Creado: Fred.SysAdmin ftpd.pm: El objeto está bloqueado en lectura por Production.SysAdmin (pruebas) en el módulo. %phx_vos#m16 ejecutando ftpd.pm. listo 09:05:22
|
& whos_running begins_here |
