In our current direct SSH connection, whenever we exit the "launcher" application, all child applications that was launched by the launcher exits. Is there a way to mimic this behavior with a GAS connection?
First of all, I wouldn't describe that as the expected behaviour. My expectation is that if you have used RUN WITHOUT WAITING then the child applications would remain running after the launcher exits, and am thinking that maybe something is missing in the SSH or GDC shortcut config
So I'd first make sure that you are not trying to reproduce behaviour that is incorrect and not desired.
If the behaviour is desired, and it might well be in the security conscious environment you operate in , I'd draw a diagram of the processes running,
GDC+SSH: fglrun gdc.exe
GDC+GAS: fglrun, *dispatch, uaproxy, gdc.exe
GBC+GAS: fglrun, *dispatch, uaproxy, browser.exe+gbc.js
and note that your gasadmin technique is killing the uaproxy processes which is then bubbling up to the fglrun, gdc.exe, browser.exe+gbc.js, and what you are seeing in UI is the response if communication is lost with a process that should be running
I would look at a technique whereby the fglrun process is shutdown in an orderly fashion.
I have two thoughts as to how to construct
1. If you look at fglWrt -a info users, output you should see that the processes for that session_id the application launcher and the programs launched) are grouped together so I think you can use that info to get the process id's you need.
2. Secondly, if you look at OPTIONS ON TERMINATE SIGNAL
http://4js.com/online_documentation/fjs-fgl-manual-html/#fgl-topics/c_fgl_programs_009.html you can execute code when a terminate signal (kill -15) is received.
So I am thinking, parse the fglWrt -a info users output to get the process Ids, kill -15 on those process ID, and use OPTIONS ON TERMINATE SIGNAL to have these programs exit in a tidy manner, and then the front-end will be as if the user exited the program normally.
I'm not comfortable suggesting this as I think you are trying to mimic some behaviour that is not correct.
Reuben