In Forked Mode, Bash tasks which ignore signals (SIGTERM/SIGINT) keep running.
Bash Tasks and most probably all others tasks (only tested with Bash) are not properly killed in forked mode.
Reproduce: Execute BashSigterm-Issue.zip and kill task which stays running. That task will write into a file, forever.
After the task has been killed execute this WatchTheOutputGettingLonger.zip workflow. Watch the output file growing. (The output file shouldn't grow because the task should be killed)
The issue probably originates from the design. Because we have a process tree killer in forked mode: https://github.com/ow2-proactive/process-tree-killer.
That process tree killer is most probably interrupted and killed by the task killer. But the TaskKiller.java handles the killing of tasks in non-forked mode.
A possible solution is to teach the: https://github.com/ow2-proactive/process-tree-killer to wait the cleanup timeout and then kill the process tree (It should actually kill the process tree already but somehow it doesn't do it.). And Let the TaskKiller.java wait longer before killing the process tree killer (double the time - as we did it with the run as me mode).
Graceful_termination_Jython.zip
During investigation we found that this issue also appears with jython tasks.