[systemd-devel] controlling IO from a transient service
Lennart Poettering
lennart at poettering.net
Wed Jun 29 21:00:57 UTC 2016
On Tue, 28.06.16 11:20, jsl6uy js16uy (js16uy at gmail.com) wrote:
> Hello all, hope all is well
>
> Should I be able to control the IO for a tar process?
>
> I am on arch linux using systemd-run to initiate a service to which I can
> apply resource limits
>
> Linux 4.6.2-1-ARCH #1 SMP PREEMPT Wed Jun 8 08:40:59 CEST 2016 x86_64
> GNU/Linux
>
> systemctl --version
> systemd 230
> +PAM -AUDIT -SELINUX -IMA -APPARMOR +SMACK -SYSVINIT +UTMP +LIBCRYPTSETUP
> +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN
>
>
> I am starting a transient service with the parameters below. I have tried
> several combinations
>
> sudo systemd-run --unit=loadio -p "BlockIOWriteBandwidth=/dev/dm-1 50M" --
> su - foo -c "cd $PWD && tar vcf custom_box.box ./metadata.json
> ./Vagrantfile ./box.img"
So this creates a transient service unit, and then runs "su" inside of
it, which will create a separate transient scope unit for the login
session "su" creates.
Or in other words: you actually create a the unit correctly, but then
immediately escape it again for the actual command you want to run.
Consider using the "User=" property instead of "su". "User=" does not
involve PAM and hence does not result in creation of a new user login
session.
Lennart
--
Lennart Poettering, Red Hat
More information about the systemd-devel
mailing list