diff --git a/README.md b/README.md index beac08cf..23a34edd 100644 --- a/README.md +++ b/README.md @@ -255,16 +255,27 @@ service. Again, tasks and services are started in parallel, while run commands are called in the order listed and subsequent commands are not started -until a run command has completed. +until a run command has completed. Also, task and run commands are run +in a shell, so pipes and redirects can be used. + +The following examples illustrate this. Bootstrap task and run commands +are also removed when they have completed, `initctl show` will not list +them. + +```conf + task [S] echo "foo" | cat >/tmp/bar + run [S] echo "$HOME" >/tmp/secret +``` Switching between runlevels can be done by calling init with a single -argument, e.g. init 5 switches to runlevel 5. When changing -runlevels Finit also automatically reloads all `.conf` files in the -`/etc/finit.d/` directory. So if you want to set a new system config, -switch to runlevel 1, change all config files in the system, and touch -all `.conf` files in `/etc/finit.d` before switching back to the -previous runlevel again — that way Finit can both stop old services and -start any new ones for you, without rebooting the system. +argument, e.g. init 5, or using `initctl runlevel 5`, both +switch to runlevel 5. When changing runlevels Finit also automatically +reloads all `.conf` files in the `/etc/finit.d/` directory. So if you +want to set a new system config, switch to runlevel 1, change all config +files in the system, and touch all `.conf` files in `/etc/finit.d` +before switching back to the previous runlevel again — that way Finit +can both stop old services and start any new ones for you, without +rebooting the system. Rebooting & Halting