[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: schroot leaving sessions behind



Wackojacko wrote:
> Anton Piatek wrote:
>> Wackojacko wrote:
>>> Anton Piatek wrote:
>>>> Hi, I set up a basic schroot environment to run a couple of 32 bit
>>>> apps on my amd64 box. The problem is that when the program exits
>>>> schroot leaves all its session data behind, mount points and all (so
>>>> `mount` returns a hell of a lot of entries)
>>>>
>>>> schroot is being called as follows
>>>> `ls -l myprogram`
>>>>     myprogram -> do_schroot
>>>> `cat do_schroot`
>>>>     exec schroot -p -c sid32 -q -- "`basename $0`" "$@"
>>>> So when I run `myprogram` schroot runs it for me in a 32bit env. My
>>>> question is, what should I change to make sure that schroot uses as
>>>> few sessions as possible and closes them when done?
>>>>
>>>> Anton
>>>>
>>> <snip large amount of chroots>
>>>
>>> Anton
>>>
>>> I had a similar problem when I first switched to schroot from dchroot.
>>> In my case it turned out to be a problem with the way was launching
>>> the  program in the chroot.  I originally used wrapper scripts, which
>>> for some reason didn't terminate when the program they had launched
>>> terminated, and therefore kept the session open.
>>>
>>> It may help if you could give us more information on what myprogram
>>> does, and how it is launched, in the chroot?
>>>
>>> In any case you could try
>>> #schroot -e --all-sessions
>>>
>>> to kill the existing processes.
>>>
>> mypgrogram is one of: skype, bibblepro (photo editor), firefox (to have
>> 32bit flash). I am sure there are a few others.
>
> Do you have any scripts in the chroot to start them?
>> Normally I close them down, but often I will just shut down the
>> computer, maybe that causes it?
>
> Possible
>> If i use -e --all-sessions will that not kill a running program in
>> another schroot?
>>
>
> Yes meant to add that caveat.  Maybe add something to a run level 0
> and 6 that executes this on shutdown to clean up /var/lib/chroot.
>> Anton
>>
There is one script... "do_schroot": exec schroot -p -c sid32 -q --
"`basename $0`" "$@"
All programs I run are a symbolic link to that script, which figures out
how it was called and then runs that command in the 32 bit schroot. I
could change the paramaters there, but that still wouldnt help as I want
to be able to run several schroot programs.

Would it be better to define one schroot instance and get all programs
to use that explicitly?

Anton

-- 
email: anton@piatek.co.uk
blog/photos:			http://www.strangeparty.com
pgp: [0xB307BAEF]	(http://tastycake.net/~anton/anton.asc)
fingerprint: 116A 5F01 1E5F 1ADE 78C6 EDB3 B9B6 E622 B307 BAEF


Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: