Skip to main content

The Lunch distributed process launcher

Lunch is a distributed process launcher and manager for GNU/Linux.

With Lunch, one can launch software processes on several different computers and make sure they keep running. This software was created to suit the needs of new media artists for live performances and interactive installations. It respawns the software that crash and provides a mean to manage dependencies between running processes.

It provides the command-line lunch utility which can be invoked with a GTK+ user interface.

See http://code.sat.qc.ca/redmine/projects/lunch for more information.

USING LUNCH

Here is a quick how-to. Make sure lunch is installed first. (see INSTALL) There should be a Lunch icon in the Application/Other Gnome menu.

Copy the “config-sample” example config file to the local ~/.lunchrc

cp doc/examples/config-sample ~/.lunchrc

Edit the configuration file to suit your needs:

edit ~/.lunchrc

Start the lunch master:

lunch

A remote lunch-slave is started this way:

lunch-slave -i "xlogo"
lunch-slave "xdg-open"

Next, the lunch scripts controls the lunch-slave via its standard input and output. Type “help” in lunch-slave and press enter to see how the lunch-slave prompt is used by lunch. That prompt is not meant to be used directly by an operator, but rather only through lunch.

The .lunch/config file is written in the Python language and the only function needed to be called there is add_command. Here are some examples:

add_command(command="xlogo", env={}, identifier="xlogo")
add_command(command="mplayer /usr/share/example-content/Ubuntu_Free_Culture_Showcase/StopMotionUbuntu.ogv", env={}, identifier="mplayer")

Setting the user and host arguments make it be issued through SSH to a remote host:

add_command(command="xlogo", env={"DISPLAY":":0.0"}, user=_user, host="example.org", identifier="remote_xlogo")

See the examples for more information about this.

Versioning

This project uses the common “Linux kernel” versioning system, where even-numbered minor versions are stable and odd-numbered minor versions are development snapshots.

The micro version indicates the origin of the release: even micro numbers are only used for released archives; odd micro numbers are only used on the Git repository.

A stable series means that the command-line options and the interactive keyboard controls should not change much for all tags whose version number start with the same major-minor numbers. Some new features might be developped in that branch, but each release should be backward-compatible with their ancestor. Releases from a stable series should be use for production.

In contrast, unstable branches consist of tags which are developer snapshots. They are not expected to be compatible with any other version. Some features might change between different stable branches.

How to use Git with the http://code.sat.qc.ca/ server

Clone the repository:

$ git clone git://code.sat.qc.ca/lunch.git

Logging and PID directories

Lunch stores log files and pid files respectively in /tmp/log/lunch/$USER and /tmp/run/lunch/$USER. $USER is replaced by the UNIX user name of the user. When you install lunch, it creates those directories. If you want to use lunch without installing it, you must provide the –logging-directory and –pid-directory options. Those log files are for the lunch-slave executables only. (not the lunch master) The PID file is for the lunch master to store its PID so that you can kill it with lunch –kill.

LICENSE

Lunch is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.

AUTHORS

Alexandre Quessy (http://alexandre.quessy.net) Michal Seta <djiamnot@gmail.com>

Release files for lunch 0.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lunch 0.6.0
File Size Uploaded
lunch-0.6.0.tar.gz 39.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lunch 0.6.0
File Interpreter ABI Platform
lunch-0.6.0.macosx-10.10-intel.exe Details

Total release size: 147.0 kB

Release files / lunch-0.6.0.tar.gz

Download URL lunch-0.6.0.tar.gz
Size 39.7 kB
Tags Source
SHA-256 checksum
How to use checksums
7f51a98d51e2311c3ae3656ab6e25cf1fdff017cefb0516f3de7f806fdfea1e2
BLAKE2b-256 checksum
How to use checksums
284b0efab2b9f2aeb863ffbe85588ac153d3723ee43d3c704977ba75074870fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / lunch-0.6.0.macosx-10.10-intel.exe

Download URL lunch-0.6.0.macosx-10.10-intel.exe
Size 107.3 kB
Tags Source
SHA-256 checksum
How to use checksums
8b33e47c0984da04b4aeae1c3b24c344d5505899da924da2ecc483d6ed4f104a
BLAKE2b-256 checksum
How to use checksums
d815141bd8b92c76e0dbe07da014ded8ae30c3ac48039fb0f49d388363554ca7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.6.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page