We launch fuzzer processes using popen and use the timeout parameter to ensure the fuzzing process doesn't run forever (we also use libFuzzer's builtin timeout but don't want to rely on this.
However, Skia seems to be see hangs in their use of CIFuzz despite this.
The language used in the documentation of popen makes me think that the fuzzer process is not SIGTERMed and only SIGKILLED:
The timeout argument is passed to Popen.communicate(). If the timeout expires, the child process will be killed and waited for
If I'm right, we should be SIGTERMing this process to make sure we don't hang fuzzing.