Jochen Sprickerhof writes ("Re: Bug#1094635: /usr/bin/autopkgtest-virt-unshare: 
processes not killed by close"):
> Note that autopkgtest-virt-unshare does not open some session and the 
> unshare syscall only changes the user namespaces for the inside 
> processes. Thus running unshare in another terminal is completely 
> unrelated to the autopkgtest-virt-unshare except that both share the 
> same chroot directory in /tmp/tmp_8rqn1g5.

Yes, I'm aware of this.  I regard this as an aspect of the
implementation strategy.

> This sounds like a x/y problem, can you describe why you are doing 
> this?

I want to use unshare to contain a multi-process task which might take
an unreasonable length of time and need to be timed out.  (Indeed, as
autopkgtest might want to.)

As background:

The purpose of the autopkgtest-virt-* API is to allow an application
(such as autopkgtest) to run code in a controlled and resettble
environment.  In the case of autopkgtest that is tests, but other
callers will be using it for other purposes.

The precise semantics aren't well-defined by the autopkgtest virt
protocol spec (which I wrote).  It says only "virtualisation
facilities".  The semantics can be further defined and extended by the
server advertising capabilities, eg "revert-full-system".

This bug is a request for autopkgtest-virt-unshare to have the
capacity to kill "escaped" processes, when the testbed is closed.

I think that behaviour would makes sense, perhaps even as a default.
After all, the actual chroot is deleted, so any processes which remain
have an empty root fs.  Leftover processes are possibly broken in
other ways too.

Ian.

-- 
Ian Jackson <ijack...@chiark.greenend.org.uk>   These opinions are my own.  

Pronouns: they/he.  If I emailed you from @fyvzl.net or @evade.org.uk,
that is a private address which bypasses my fierce spamfilter.

Reply via email to