HyperStudy Waiting for Child Processes
This phenomenon happens when the main process launched by HyperStudy is terminated before child processes created by the main process.
HyperStudy expects the process hierarchy to be maintained. Hence, all child processes must finish prior to the main process for the solver job to be complete.
Warning: run (#), model (m_#), Execute (pid = #) process group has not finished completely after 2000 ms. Attempt to wait an additional 600000 ms before killing the remaining processes.
The main process or solver has finished, but it left child processes behind that are still running.
In some cases, this can be fixed by adding an appropriate argument such as /wait or interactive.
- By increasing the verbose to Level 1, you can find out the precise command which HyperStudy is running to invoke the process. To increase the verbose level in the GUI, right-click in the Message Log, select verbose from the context menu, and increase it to level one (1). Once you has the command which was displayed in the message window attempt to use this exact same command in a command prompt and see what happens.
- When diagnosing this class of problem, it is invaluable to monitor the subprocesses. On Windows, we strongly recommend downloading the Process Explorer tool from Microsoft.
Example
Figure 2 shows an example case from Process Manager: HyperStudy (hst.exe) invokes SimLab (StartSimLab.exe is the main process) and SimLab calls OptiStruct (optistruct_2021_win64.exe) to solve a numerical analysis. OptiStruct process becomes one of the child processes.
Solver | Arguments | Working Command Line |
---|---|---|
Abaqus | interactive | C:\...\abq2021.bat j=v4 cpus=4 interactive |
Altair Compose | -cfg° | start /wait ""
"%ALTAIR_HOME%%UNITY_DIR_NAME%%EXEC_SUB_PATH%" -cfg -l en -c
Compose -v Compose2019.1 -ef Comp.env %* |
Altair EDEM | ° | edem -i "sim.dem" -c -r 1.500000 -w 0.10000 -g
3.000000 -t 3.0e-5 -p 8 -E 0 -e "sim.dfg" |
Altair HyperView | ° | start /wait /min "%ALTAIR_HOME%\hw\bin\win64\hw.exe"
-b -tcl
"%STUDY_RUN_PATH%\GetGroupValues.tcl" |
Altair Solvers | -nobg on Linux | $ALTAIR_HOME/hwsolvers/optistruct/bin/linux64/optistruct_2021.2_linux64
foo.fem -nobg |
Creo | °pro_wait | C:\Program Files\PTC\Creo
3.0\M090\Parametric\bin\parametric.exe"
|
MATLAB | -wait | matlab -nosplash -noFigureWindows -wait -r "try;
run('${basename file-reference}'); catch; end;
quit" |
Moldflow | ° | °"C:\Program Files\Autodesk\Moldflow Synergy
2016\bin\studymod.exe" base.sdy base_mod.sdy
teste.xml |
Nastran | batch=no | <path to Nastran Executable> job1.dat
batch=no |
The solver script can be modified to make sure that child processes terminate before the main process.