JockoDundee Posted September 16, 2020 Share 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... Link to comment Share on other sites More sharing options...
water Posted September 16, 2020 Share 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 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - WikiExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example ScriptsOutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - WikiOutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - DownloadOutlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - WikiPowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - WikiTask Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs:Excel - Example Scripts - WikiWord - Wiki Tutorials:ADO - WikiWebDriver - Wiki Link to comment Share on other sites More sharing options...
Dan_555 Posted September 16, 2020 Share 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 Link to comment Share on other sites More sharing options...
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