L'autre jour, alors que je travaillais sur un problème chez un client, j'ai remarqué et j'ai mentionné qu'il y avait deux ensembles de processus de demande en cours, un ensemble fonctionnant sous un nom générique comme Production.SysAdmin et un ensemble, qui fonctionnait depuis plus de 3 ans, sous le nom d'une personne, l'appeler Fred.SysAdmin. Il s'avère que Fred avait quitté l'entreprise il y a quelque temps. Je ne dis pas que Fred avait des intentions malveillantes, mais il m'est apparu qu'une "meilleure pratique" qui est toujours mentionnée consiste à résilier les identifiants de connexion de Fred immédiatement lorsqu'il quitte la société, peut-être juste avant de lui dire qu'il quitte la société. Mais je n'ai jamais entendu parler d'une "meilleure pratique" concernant la résiliation des processus que Fred avait lancés. Étant donné le temps qui s'écoule entre les redémarrages des systèmes VOS, je suis sûr que ce scénario n'est pas unique. Je suggère que, outre la résiliation de leurs identifiants de connexion lorsque quelqu'un quitte la société, tout processus se déroulant sous le nom de cette personne ou exécutant un module de programme créé par cette personne soit évalué puis programmé pour être terminé et, si cela est jugé nécessaire, relancé par un employé actuel. De même, la file d'attente par lots doit être examinée et toute demande au nom de cette personne doit être évaluée, annulée et, si cela est jugé nécessaire, relancée par un employé actuel.
Pour vérifier la file d'attente des lots, vous pouvez utiliser la commande
demandes_listes_par lots -toutes -long
et cherchez le nom de Fred en tant qu'"utilisateur".
Request: 59 User: 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#* |
Vous pouvez utiliser la commande
analyze_system -request_line (chaîne de caractères correspondant à fred (octet 3Bx) who) -quit
pour identifier les processus qui se déroulent sous le nom 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 macro de commande suivante peut être utilisée pour trouver tout module de programme en cours d'exécution créé par Fred, quel que soit le nom sous lequel le processus s'exécute. La macro crée une liste de tous les modules de programme en cours d'exécution, puis effectue un display_file_status pour déterminer qui a créé le fichier de module de programme et un display_program_module pour déterminer qui a lié le module de programme. Tout module de programme créé ou lié par une personne dont le nom correspond à la chaîne de saisie est affiché avec les processus qui exécutent ce module de programme. Il crée également un rapport dans le répertoire courant nommé wr_&NAME&.(date).out, où &NAME& est l'argument donné à la macro. Tous les noms sont traduits en minuscules. Si aucun nom n'est donné, il affiche des informations sur chaque module de programme en cours d'exécution et le rapport est nommé wr.(date).out.
whos_running fred %phx_vos#m15_mas>SysAdmin>George>loop.pmLié par : Fred.SysAdmin Créé : George.SysAdmin loop.pm : L'objet est lu verrouillé par George.SysAdmin (boucle) sur le module %phx_vos#m16 executing loop.pm.============================================================%phx_vos#m15_mas>Production>test>ftpd.pm Lié par : Stcp_Install.Installer Créé : Fred.SysAdmin ftpd.pm : L'objet est lu verrouillé par Production.SysAdmin (test) sur le module %phx_vos#m16 exécutant ftpd.pm. prêt 09:05:22
|
& whos_running begins_here |