Outro dia, enquanto trabalhava em um problema no local de um cliente, notei e mencionei que havia dois conjuntos de processos de aplicativos em execução, um conjunto executado sob um nome genérico como Production.SysAdmin e outro conjunto, que estava em execução há mais de três anos, sob o nome de uma pessoa, chamemos-no de Fred.SysAdmin. Acontece que Fred havia deixado a empresa há algum tempo. Não estou dizendo que Fred tinha qualquer intenção maliciosa, mas me ocorreu que uma “prática recomendada” sempre mencionada é encerrar as credenciais de login de Fred imediatamente quando ele sair da empresa, talvez logo antes de você lhe dizer que ele está saindo da empresa. Mas nunca ouvi falar de nenhuma prática recomendada sobre encerrar os processos que Fred havia iniciado. Dado o tempo entre as reinicializações dos sistemas VOS, tenho certeza de que esse cenário não é único. Sugiro que, além de encerrar as credenciais de login quando alguém sai da empresa, qualquer processo em execução sob o nome dessa pessoa ou executando um módulo de programa criado por ela seja avaliado e, em seguida, programado para encerramento e, se necessário, reiniciado por um funcionário atual. Da mesma forma, a fila de lotes deve ser revisada e quaisquer solicitações em nome da pessoa devem ser avaliadas, canceladas e, se necessário, reenviadas por um funcionário existente.
Para verificar a fila de lotes, você pode usar o comando
listar_solicitações_em_lote -tudo -longo
e procure o nome de Fred como “usuário”.
|
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#* |
Você pode usar o comando
analisar_sistema -linha_de_solicitação (correspondência de string fred (byte 3Bx) quem) -sair
para identificar processos em execução sob o nome 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) |
A seguinte macro de comando pode ser usada para localizar quaisquer módulos de programa em execução criados por Fred, independentemente do nome sob o qual o processo está sendo executado. A macro cria uma lista de todos os módulos de programa em execução e, em seguida, executa um display_file_status para determinar quem criou o arquivo do módulo de programa e um display_program_module para determinar quem vinculou o módulo de programa. Qualquer módulo de programa criado ou vinculado por alguém com um nome que corresponda à string de entrada é exibido junto com os processos que estão executando esse módulo de programa. Ele também cria um relatório no diretório atual chamado wr_&NAME&.(data).out, onde &NAME& é o argumento fornecido à macro. Todos os nomes são convertidos para letras minúsculas. Se nenhum nome for fornecido, ele exibe informações sobre todos os módulos de programa em execução e o relatório é chamado wr.(data).out.
whos_running fred%phx_vos#m15_mas>SysAdmin>George>loop.pmEncadernado por: Fred.SysAdmin Criado por: George.SysAdmin loop.pm: O objeto está bloqueado para leitura por George.SysAdmin (loop) no módulo. %phx_vos#m16 executando loop.pm.============================================================%phx_vos#m15_mas>Produção>teste>ftpd.pm Vinculado por: Stcp_Install.Installer Criado por: Fred.SysAdmin ftpd.pm: O objeto está bloqueado para leitura por Production.SysAdmin (teste) no módulo %phx_vos#m16 executando ftpd.pm. pronto 09:05:22
|
& whos_running begins_here |
