JockoDundee Posted September 16, 2020 Posted September 16, 2020 Let’s say you are running 2 processes from a shared parent process. If either of the child procs return an erroneous exit code, you need to kill the other one. the following code does not work of course, but what is the best way to do it? I can think of some ugly ways involving watchdog processes, filesystem, clipboard etc, but.... Example() Func Example() ;Obviously this doesn't work because RunWait "Waits" Local $i1 = RunWait("proc1.exe") Local $i2 = RunWait("proc2.exe") If $i1=-1 Then ProcessClose("proc2.exe") If $i2=-1 Then ProcessClose("proc1.exe") EndFunc Code hard, but don’t hard code...
water Posted September 16, 2020 Posted September 16, 2020 You could use IPC (Inter Process Communication) to send status codes from the child processes to the parent process. If any of the child processes sends an error status to the parent process the parent could send shutdown messages to the remaining child processes. IPC UDFs are available in different flavours in the wiki. My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
Dan_555 Posted September 16, 2020 Posted September 16, 2020 (edited) Hmm, or use RunAs or ShellExecute to start and to capture the PID, then check in a loop if the proccess with the pid exists, with ProcessExists ?! Edit: This should work if you need to close one process. Edited September 16, 2020 by Dan_555 Some of my script sourcecode
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now