How do you monitor another application until it closes?
Suppose there are two executables. One is mine and the other is some other applicatio开发者_运维百科n. Now if the other app is running, I want my app to run until the other one exits or is stopped.
Writing a separate service seems quite an overkill.
You can first obtain a Process object - say by Process.GetProcessesByName, or better - use the ProcessID of the process you wish to monitor, if you have it. You can then try obtaining a WaitHandle from it, as discussed e.g. here, then call WaitOne on it (or WaitAll, if you're monitoring several instances).
Write a windows service that will continuously monitor the other
application executable. If the service finds it running it will start your executable if not running and make sure it keeps running throughout the life cycle of the other
application. As soon as the other
app terminates, your windows service will also terminate your exe.
精彩评论