Jump to content

End process if not after 5:00


zcwight
 Share

Recommended Posts

All I'm after is a script that will continuously check the time, and if a process starts before 5:00, then it will be killed straight away, if its after 5:00,  then it is allowed to run. But on weekends the process is allowed to run at any time.

A script that I could just modify to my needs would be nice, but if someone could point me to the Help File section that will do what I need, that would be better.

Link to comment
Share on other sites

You'll need to register when the process started. I know in powershell you can check when a process started and how long it's been running but idk how to get that data through autoit.

I'd do something like a 2d array that holds the pid and the hour it started.

Use ShellExecute, or Run, to start the process and get the PID of that process.

You can use ProcessExists to check and see if the PID of the process is still running.

Use ProcessClose to force close a program (idk what program you're talking about, there's probably a safer way to close your program that just killing in using ProcessClose)

Link to comment
Share on other sites

zcwight,

In case you return to this thread here is a quick and dirty (and very simple) version of my understanding of your OP...

#include <array.au3>
#include <date.au3>

;    test progs ---------------------------------------------
Run(@ScriptDir & '\test1.exe')
Run(@ScriptDir & '\test2.exe')
;    test progs ---------------------------------------------

Local $aProcessesToMonitor = [ _
        'test1.exe', _
        'test2.exe' _
        ]

Local $sStartHour = '08:00:00'
Local $sEndHour = '17:00:00'

While 1
    If (@WDAY <> 7 And @WDAY <> 1) And ($sStartHour < StringRight(_NowCalc(), 8) And $sEndHour > StringRight(_NowCalc(), 8)) Then
        For $i = 0 To UBound($aProcessesToMonitor) - 1
            $aTmp = ProcessList($aProcessesToMonitor[$i])
            If @error Then ContinueLoop
            For $j = 1 To UBound($aTmp) - 1
                ProcessClose($aTmp[$j][1])
                ConsoleWrite('Closing ' & $aTmp[$j][0] & '[' & $aTmp[$j][1] & ']' & @CRLF)
            Next
        Next
    EndIf
    Sleep(1000)
WEnd

kylomas

Forum Rules         Procedure for posting code

"I like pigs.  Dogs look up to us.  Cats look down on us.  Pigs treat us as equals."

- Sir Winston Churchill

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...