On tor, 2015-03-05 at 00:00 +0100, Lennart Poettering wrote:
> On Wed, 04.03.15 18:51, Alexander Larsson (al...@redhat.com) wrote:
> 
> > If i run a transient scope on the user systemd instance like:
> > 
> > $ systemd-run --user --scope true
> > 
> > Then the scope seems to live past the end of the process. Is there any
> > way to make it automatically go away with the last process in the
> > cgroup?
> 
> Well, yes, the idea is that that just works. However, this is kinda
> broken if the systemd instance managing your scope is not PID 1, as we
> don't get SIGCHLD then. 
> 
> Do you create any subcgroups? presumably not?
> 
> Normally it should just work then, but I must admit that --user scopes
> got much less testing that system scopes...

Oh, i'm not doing anything special at all:

$ systemd-run --user --scope sleep 10 &
[1] 10613
$ Running as unit run-10613.scope.
systemd-ctl status --user run-10613.scope 
● run-10613.scope - /usr/bin/sleep 10
   Loaded: loaded (/run/user/1000/systemd/user/run-10613.scope; static)
  Drop-In: /run/user/1000/systemd/user/run-10613.scope.d
           └─50-Description.conf
   Active: active (running) since tor 2015-03-05 10:06:24 CET; 8s ago
   CGroup: /user.slice/user-1000.slice/user@1000.service/run-10613.scope
           └─10613 /usr/bin/sleep 10

mar 05 10:06:24 localhost.localdomain systemd[1405]: Starting /usr/bin/sleep 10.
mar 05 10:06:24 localhost.localdomain systemd[1405]: Started /usr/bin/sleep 10.
$ sleep 10
[1]+  Done                    systemd-run --user --scope sleep 10
$ systemctl status --user run-10613.scope 
● run-10613.scope - /usr/bin/sleep 10
   Loaded: loaded (/run/user/1000/systemd/user/run-10613.scope; static)
  Drop-In: /run/user/1000/systemd/user/run-10613.scope.d
           └─50-Description.conf
   Active: active (running) since tor 2015-03-05 10:06:24 CET; 25s ago

mar 05 10:06:24 localhost.localdomain systemd[1405]: Starting /usr/bin/sleep 10.
mar 05 10:06:24 localhost.localdomain systemd[1405]: Started /usr/bin/sleep 10.

See, even when the sleep command died the scope still exists, and is
even ACTIVE.

Also, while we're on the topic of scopes. Is there any way to hang some
random metadata off a unit during creation, that can be read back? For
xdg-app I'd like to put information like the app id, the exact version,
the security level, etc into the scope. Then anyone talking to the app
could go: 
  getpeercred => cgroup => scope => unfakable (by the app) data about
  the application.

-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 Alexander Larsson                                            Red Hat, Inc 
       al...@redhat.com            alexander.lars...@gmail.com 
He's an uncontrollable coffee-fuelled filmmaker for the 21st century. 
She's an enchanted tomboy doctor with a song in her heart and a spring in 
her step. They fight crime! 

_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to