Hi,
Just several generic notes:
> it returns "process not found" with the process still in TaskManager.
Does TestComplete run using the same or higher privileges level when compared to those of octDataParser process?
For example, process can be invisible for TestComplete if it was started under your user's account while octDataParser process is spawned with privileges elevation.
Update: I noted that octDataParser_core process is started under System account as per screnshot of your Task Manager. Do you have the Show System Processes button enabled in Object Browser in TestComplete?
> Sys.Process("octDataParser").Exists ?
This line of code assumes that octDataParser process already exists or appears within the Project | Playback > Runtime > Auto-wait Timeout time period.
Otherwise there will be 'process not found' error in test log.
One must use one of the WaitXXX() methods (WaitProcess() in your case) if it is not guaranteed that sought for object exists at the moment of code execution.
P.S. You wrote that octDataParser process exists for several seconds only... This makes me think that this part of your test can be fragile and not stable if, for example, octDataParser process completes within 1-2 seconds on a fast powerful box. Do you really need to grab command line for the spawned octDataParser process? Maybe you can use, say, some log generated by octDatParser, or wait for some time for some result of its work? (Say, processed data file.) Such modified approach will definitely make your test more stable.
P.P.S. Personally I would not use Task Manager but WMI if I need to search for the process and its properties. But only if functionality provided by TestComplete appears to be not enough.
E.g.:
https://www.computerperformance.co.uk/vbscript/wmi-process/
https://www.google.com/search?q=wmi+vbscript+get+process+command+line