Solved

Kill all Lotus Notes Processes and delete temp files

Posted on 2006-07-18
7
24,620 Views
Last Modified: 2013-12-18
What I need help on is a script I have written to close Lotus Notes and delete all temp files.  i need my script to be able to kill all Notes processes and delete the temp files so I can relaunch it without having to re-logon.  Here is what I have so far.

'******************************************************************************
Call kill_process_matching("nlnotes.exe,nhldaemn.exe,nupdate.exe,nwrdaemn.exe,nnotesmm.exe,nlnotes.exe,notes.exe,nweb.exe,naldaemn.exe")
delete_file("C:\Program Files\Lotus\Notes\Data\~notes.lck")
delete_file("C:\Program Files\Lotus\Notes\Data\Cache.DSK")
delete_file("C:\Program Files\Lotus\Notes\Data\log.nsf")


'******************************************************************************
'kill_process_matching(str_procs)
'
'Description
'            This functions checks all running processes for specific processes that are passed to it
'            and terminates any that it findes
'inputs
'      str_procs a comma delimited list of process names to look for
'
'

'******************************************************************************

function kill_process_matching(str_procs)
      dim bool_imp_proc_running            'bool value used to identify if an identifed process is running
      dim arry_arg_proc_names                  'an array of strings used to store the split str_procs
      dim obj_service                   'used as a winmgmts object
      dim obj_current_proc                  'used as the current process being checked
      dim obj_current_proc_list            'array of objects to bee killed
      dim strComputer                        ' the name of the computer - can be a remote name
      dim str_proc_to_kill_name             'string used to store current important process to look for

                              

      if trim(str_procs) = "" then
            exit function
      End IF
      arry_arg_proc_names=split(str_procs, ",")
      If not InStr(1, str_procs, ",", 1) >0 Then str_procs=str_procs & ","
      strComputer = "."
      Set obj_service = GetObject("winmgmts:" _
          & "{impersonationLevel=impersonate}!\\" _
          & strComputer & "\root\cimv2")
      for each str_proc_to_kill_name in arry_arg_proc_names
      ' loop through the list of passed in process names to kill
            Set obj_current_proc_list = obj_service.ExecQuery _
                ("Select * from Win32_Process Where Name like '" & str_proc_to_kill_name & "'")
            on error resume next 'just incase it can't terminate it
            For Each obj_current_proc in obj_current_proc_list
            ' loop through each process that it found matching the current name

                obj_current_proc.Terminate()
            
            Next
            on error goto 0
            Set obj_current_proc_list = Nothing
      Next

End Function


Function delete_file(STR_FQ_FileName)  
  Dim fso, f1
  Set fso = CreateObject("Scripting.FileSystemObject")
  If fso.FileExists(STR_FQ_FileName)Then 'if the file alread exists get the file attributes and prep for writing
        On Error Resume Next
        Set f1 = fso.GetFile(STR_FQ_FileName)
        f1.Attributes=0
        f1.Delete
        Set f1 = Nothing
        On Error GoTo 0
  End If
 Set fso = Nothing
End Function

'******************************************************************************


For some reason I am either missing some temp files or some child process that is not letting me re-run Notes in the same windows sesssion.  i would like this script to be able to work for Notes versions 5 and 6.5.
0
Comment
Question by:tmassoglia01
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
7 Comments
 
LVL 9

Expert Comment

by:justchat_1
ID: 17134333
Try manually ending these processes via the task manager and then deleting the files-Do any processes or files say access denied or any other error??
0
 

Author Comment

by:tmassoglia01
ID: 17135887
No they do not, my problem is not the deleting of files or ending of processes, but rather which file need to be deleted and which processes need to be ended.
0
 
LVL 9

Expert Comment

by:justchat_1
ID: 17140993
Im not sure I understand the question...I thought the processes and files defined above were the ones you needed to end/delete
0
 
LVL 18

Accepted Solution

by:
marilyng earned 500 total points
ID: 17153229
Use KillNotes.exe and call that from a script.  Works on Both server and clients.   Will kill every process running in the Notes directory.   So then all you need to add in your batch file is one to stop the service first ( essential) then another to call the killNotes.exe

The only other way to do this is to step through the active PID's and compare that to a list of exe's that exist in the Notes Directory.  If found then kill that process.   I did this in NT in a batch file (awhile ago, so I would have to resurrect the code)

KillNotes:http://www-10.lotus.com/ldd/sandbox.nsf/0/7b70d2411b8dec9688256acb005c433f
0
 

Author Comment

by:tmassoglia01
ID: 17302403
Wow, thanks jsut what I needed!
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

For users on the Lotus Notes 8 Standard client, this article provides information on checking the Java Heap size and adjusting it to half of your system RAM in attempt to get the Lotus Notes 8.x Standard client to run faster.  I've had to exercise t…
This article covers general Notes 8.5 troubleshooting information including recreating the Notes\Data folder.
Exchange organizations may use the Journaling Agent of the Transport Service to archive messages going through Exchange. However, if the Transport Service is integrated with some email content management application (such as an antispam), the admini…
Attackers love to prey on accounts that have privileges. Reducing privileged accounts and protecting privileged accounts therefore is paramount. Users, groups, and service accounts need to be protected to help protect the entire Active Directory …

726 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question