며칠 전 고객사 현장에서 문제를 해결하던 중, 두 세트의 애플리케이션 프로세스가 실행 중임을 발견하고 우연히 언급했습니다. 하나는 'Production.SysAdmin' 같은 일반적인 이름으로 실행 중이었고, 다른 하나는 3년 넘게 실행 중인 개인 이름(가칭 Fred.SysAdmin)으로 실행 중이었습니다. 알고 보니 Fred는 한동안 전에 회사를 떠난 상태였습니다. 프레드가 악의를 품었다는 뜻은 아닙니다. 다만 항상 언급되는 '모범 사례' 중 하나는 직원이 퇴사할 때, 아마도 퇴사 통보 직전에 프레드의 로그인 자격 증명을 즉시 종료하는 것임을 깨달았습니다. 하지만 프레드가 시작한 프로세스를 종료하라는 모범 사례는 들어본 적이 없습니다. VOS 시스템 재부팅 간격이 긴 점을 고려하면 이런 사례가 드물지 않을 것입니다. 제안합니다. 퇴사 시 로그인 자격 증명을 종료하는 것 외에도, 해당 직원 명의로 실행 중인 프로세스나 그가 생성한 프로그램 모듈을 평가한 후 종료 일정을 수립하고, 필요 시 현직 직원이 재시작하도록 해야 합니다. 마찬가지로 배치 큐를 검토하여 해당 직원 명의의 요청 사항을 평가하고 취소한 후, 필요 시 현직 직원이 재제출해야 합니다.
배치 큐를 확인하려면 다음 명령어를 사용할 수 있습니다.
list_batch_requests -all -long
그리고 "사용자"로 프레드의 이름을 찾아보세요
|
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#* |
다음 명령어를 사용할 수 있습니다.
analyze_system -request_line (문자열 일치 fred (바이트 3Bx) who) -quit
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) |
다음 명령 매크로는 프로세스가 실행 중인 이름과 관계없이 Fred가 생성한 실행 중인 모든 프로그램 모듈을 찾는 데 사용할 수 있습니다. 이 매크로는 실행 중인 모든 프로그램 모듈의 목록을 생성한 후 display_file_status를 수행하여 프로그램 모듈 파일을 생성한 주체를 확인하고, display_program_module을 수행하여 프로그램 모듈을 바인딩한 주체를 확인합니다. 입력 문자열과 일치하는 이름을 가진 사용자가 생성하거나 바인딩한 모든 프로그램 모듈이 해당 모듈을 실행 중인 프로세스와 함께 표시됩니다. 또한 현재 디렉터리에 wr_&NAME&.(날짜).out이라는 이름의 보고서를 생성합니다. 여기서 &NAME&은 매크로에 전달된 인수입니다. 모든 이름은 소문자로 변환됩니다. 이름이 지정되지 않으면 실행 중인 모든 프로그램 모듈에 대한 정보를 표시하며, 보고서는 wr.(날짜).out으로 명명됩니다.
whos_running fred%phx_vos#m15_mas>시스템관리자>조지>loop.pm작성자: Fred.SysAdmin 생성자: George.SysAdmin loop.pm: 객체가 George.SysAdmin (loop)에 의해 모듈에서 읽기 잠금 상태입니다. %phx_vos#m16 루프.pm 실행 중. ============================================================ %phx_vos#m15_mas>Production>test>ftpd.pm 구속됨: Stcp_Install.Installer 생성자: Fred.SysAdmin ftpd.pm: 모듈에서 Production.SysAdmin (테스트)에 의해 객체가 읽기 잠김 %phx_vos#m16이 ftpd.pm을 실행 중입니다. 준비됨 09:05:22
|
& whos_running begins_here |
