[Avocado-devel] Subprocess termination

Amador Pahim apahim at redhat.com
Thu Feb 16 15:58:49 UTC 2017


On Thu, Feb 16, 2017 at 4:38 PM, Radek Duda <rduda at redhat.com> wrote:
> Dear avocado users and developers,
> I have made a testcase in which is executed nc process in run function :
> (simplified version):
>
> from avocado.utils import process
>
> def run(vt_test, test_params, env):
>   cmd = "nc -l %s" % test_params['some_port']
>   nc_process = process.SubProcess(cmd)
>   return
>
> after testcase is executed, nc does not terminate and is still present. To
> avoid this I have to kill the process e.g. by
> process.safe_kill(nc_process_pid, signal.SIGKILL)

Are you running the process with `nc_process.run()`? It's expected to
wait for the process to finish.

https://github.com/avocado-framework/avocado/blob/master/avocado/utils/process.py#L596-L643


>
> It is pretty awkward to close the process manually particularly in case of
> complex testcase code
> Shouldn't be the subprocess killed automatically after test exits?
> After all its called SubProcess
>
>
> regards,
>
> Radek Duda




More information about the Avocado-devel mailing list