Friday, 22 March 2013

Upstart 1.8 released

Hot on the heels of Upstart 1.7 comes Upstart 1.8 which includes two interesting new features:

The File Bridge

Upstart now provides the upstart-file-bridge, a bridge that allows jobs to react to file events.

Here are a few examples:

Start a job when file is created, modified or deleted:
start on file FILE=/run/

Start job when file is created (only):

start on file FILE=/run/ EVENT=created

Start job when any files within a directory are created, modified or deleted:

start on file FILE=/var/log/

Start job when files that match a glob pattern are created in the indicated directory:

start on file FILE=/var/crash/*.crash EVENT=created

Even better, this bridge is available to both system jobs and users session jobs.

See upstart-file-bridge(8) and file-event(7) for further details.


The upstart-monitor tool covered in a previous post has also been added to the release. This allows you to see what events Upstart is emitting and how jobs are changing state both at the system and user session levels.

You can download Upstart 1.8 from:

Upstart 1.8 should be landing in Ubuntu Raring in the next few days. Thanks to all involved!


If you are interested in contributing to Upstart, we'd love to hear from you. Now is a great time to get involved, since with the advent of the upstart-monitor the fun expands to include GUI hackers too!! ;-)

Wednesday, 13 March 2013

Upstart Cookbook updated for Upstart 1.7

The Upstart Cookbook has now been updated to take into account all the goodness that landed in Upstart 1.7. There are quite a few changes so if you'd like to review the diff, it's here.

Monday, 4 March 2013

A basic Upstart Events GUI (and cli!:-) tool

It didn't quite make it into the release, but we now have a very basic Upstart GUI that should appear in Ubuntu along with the Upstart 1.7 release soon.

What is it?

upstart-monitor is a simple application that shows Upstart events as they are emitted. It can be used to view both system-level events and also session-level events when Upstart is running as a Session Init.

It requires Upstart 1.7.

What can I use it for?

The tool allows you to see events as they occur which is an aid to understanding. It also helps with writing new jobs since, if you are not sure which event to use, provoke the scenario you want, then just copy the appropriate event that appears in upstart-monitor to your .conf file (more details on this in a future post...).

How do I use it?

Just start it to see events being emitted:

If you'd prefer a command-line version, run it with the '-n' option:

Where can I get it?

If you can't wait for it to land in Ubuntu, you can grab it from here:

Upstart 1.7 released

We've just released Upstart 1.7 which expands Upstarts abilities a lot. I'll follow up with a further post explaining what these changes mean for users as this release is soon to appear in Ubuntu.

Summary of changes

  • New initctl commands: set-env, unset-env, get-env, list-env, reset-env, list-sessions (all except last with corresponding D-Bus methods).
  • New D-Bus-only signals EventEmitted, Restarted, and EndSession method.
  • Ability to run with PID >1 to allow Upstart to manage a user session.
    Running Upstart as a 'Session Init' in this way provides features
    above and beyond those provided by the original User Jobs such that
    the User Job facility has been removed entirely: to migrate from
    a system using User Jobs, simply ensure the user session is started with
    'init --user'.
  • New upstart-event-bridge bridge which proxies system-level events down to Session Inits, allowing users jobs to react to udev events.
  • Ability to read job configuration and override files from multiple freedesktop-compliant locations (Session Init only).
  • Ability to shutdown both via a system shutdown request and via a user logout request (Session Init only).
  • Additionally, there are a few bug fixes and 94 new tests.

Thanks to all the contributors, reviewers, testers and users!


Get it here