systemd-run command examples

systemd-run command examples

systemd-run – Run programs in transient scope or service or timer units

The following command will log the environment variables provided by systemd to services:

 

# systemd-run env
Running as unit run-19945.service.

 

# journalctl -u run-19945.service
Sep 08 07:37:21 bupkis systemd[1]: Starting /usr/bin/env...
Sep 08 07:37:21 bupkis systemd[1]: Started /usr/bin/env.
Sep 08 07:37:21 bupkis env[19948]: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
Sep 08 07:37:21 bupkis env[19948]: LANG=en_US.UTF-8
Sep 08 07:37:21 bupkis env[19948]: BOOT_IMAGE=/vmlinuz-3.11.0-0.rc5.git6.2.fc20.x86_64

 

The following command invokes the updatedb(8) tool, but lowers the block IO weight for it to 10. See systemd.resource-control(5) for more information on the BlockIOWeight= property.

 

# systemd-run -p BlockIOWeight=10 updatedb

 

The following command will touch a file after 30 seconds.

# date; systemd-run --on-active=30 --timer-property=AccuracySec=100ms /bin/touch /tmp/foo

Mon Dec 8 20:44:24 KST 2014

Running as unit run-71.timer.

Will run as unit run-71.service.

# journalctl -b -u run-73.timer
-- Logs begin at Fri 2014-12-05 19:09:21 KST, end at Mon 2014-12-08 20:44:54 KST. --
Dec 08 20:44:38 container systemd[1]: Starting /bin/touch /tmp/foo.
Dec 08 20:44:38 container systemd[1]: Started /bin/touch /tmp/foo.
# journalctl -b -u run-73.service
-- Logs begin at Fri 2014-12-05 19:09:21 KST, end at Mon 2014-12-08 20:44:54 KST. --
Dec 08 20:44:48 container systemd[1]: Starting /bin/touch /tmp/foo...
Dec 08 20:44:48 container systemd[1]: Started /bin/touch /tmp/foo.

 

The following command invokes /bin/bash as a service passing its standard input, output and error to the calling TTY.

# systemd-run -t /bin/bash

Leave a Reply

Your email address will not be published. Required fields are marked *