De jobs en events van Upstart zijn in Ubuntu 11.04 ("Natty Narwhal") nog altijd te beheren met het programma initctl, maar dit is uitgebreid met het subcommando show-config. Wil je de volledige Upstart-configuratie zien zoals die door Upstart geïnterpreteerd wordt, dan voer je gewoon het volgende commando uit:

$ initctl show-config

Wil je enkel de configuratie van een specifieke job zien, dan kan dat ook, bijvoorbeeld voor de display manager GDM van Gnome:

$ initctl show-config gdm

gdm

emits login-session-start

emits desktop-session-start

start on ((filesystem and started dbus) and (drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1 or stopped udev-fallback-graphics))

stop on runlevel [016]

Met initctl show-config laat je dus de emits, start on en stop on regels van een Upstart-configuratiebestand zien. Die zijn ook wel in het originele configuratiebestand te vinden (in dit voorbeeld /etc/init/gdm.conf), maar initctl show-config toont je de interpretatie door Upstart, onder andere door haakjes toe te voegen die in het originele configuratiebestand misschien niet staan omdat je gebruikmaakt van de prioriteitsregels van de operatoren and en or. Bij complexe expressies kun je echter wel eens in de mist gaan als je niet expliciet met haakjes de prioriteiten aangeeft, en dan kun je met initctl show-config nakijken of Upstart de operatoren wel in dezelfde volgorde uitvoert als je het bedoelt.

Met de optie -e krijg je bovendien nog meer te zien, zoals de environment van elk event. Een voorbeeld voor de GDM-configuratie:

$ initctl show-config -e gdm

gdm

emits login-session-start

emits desktop-session-start

start on filesystem (job:, env:)

start on started (job: dbus, env:)

start on drm-device-added (job:, env: card0 PRIMARY_DEVICE_FOR_DISPLAY=1)

start on stopped (job: udev-fallback-graphics, env:)

stop on runlevel (job:, env: [016])

Hier zie je bijvoorbeeld dat het runlevel-event als environment [016] heeft, wat betekent dat de GDM-job gestopt wordt wanneer Ubuntu naar runlevel 0, 1 of 6 overschakelt.

Nog meer mogelijkheden

Voor erg complexe jobs is er ook de mogelijkheid om de hele graaf van jobs en events te visualiseren: het commando initctl2dot zet de uitvoer van initctl show-config -e (eventueel toegespitst op één of meerdere jobs) om naar het dot-formaat van het visualisatieprogramma Graphviz. Voor een graaf van alle jobs:

$ initctl2dot -o - | dot -Tpng -o upstart.png

En voor een graaf van enkele specifieke jobs:

$ initctl2dot -r gdm,plymouth,mountall -o - | dot -Tpng -o upstart.png

Verder heeft Canonical het ontwikkelaars van jobconfiguraties nog vergemakkelijkt dankzij het subcommando initctl check-config, dat voor een gegeven job controleert of wel aan alle voorwaarden in de configuratie voldaan kan zijn. Denk bijvoorbeeld aan een start on conditie waarin een onbekende jobnaam voorkomt. En met het programma init-checkconf kun je nu een jobconfiguratiebestand controleren op syntaxisfouten nog voor je het in /etc/init/ installeert. Meer informatie over al de nieuwe functies vind je op de blog van Upstart en uitgebreide documentatie en tips vind je in het document Upstart Intro, Cookbook and Best Practices.