EnglishFrenchSpanish

OnWorks favicon

rerun - Online in the Cloud

Run rerun in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command rerun that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

NAME


rerun - launches commands and restarts them on filesystem changes

USAGE


rerun [options] [--] cmd

EXAMPLES


For example, if you´re running a Sinatra app whose main file is app.rb:

rerun ruby app.rb

If the first part of the command is a .rb filename, then ruby is optional, so the above
can also be accomplished like this:

rerun app.rb

Rails doesn´t automatically notice all config file changes, so you can force it to restart
when you change a config file like this:

rerun --dir config rails s

Or if you´re using Thin to run a Rack app that´s configured in config.ru but you want it
on port 4000 and in debug mode, and only want to watch the app and web subdirectories:

rerun --dir app,web -- thin start --debug --port=4000 -R config.ru

The -- is to separate rerun options from cmd options. You can also use a quoted string for
the command, e.g.

rerun --dir app "thin start --debug --port=4000 -R config.ru"

Rackup can also be used to launch a Rack server, so let´s try that:

rerun -- rackup --port 4000 config.ru

Want to mimic autotest https://github.com/grosser/autotest? Try

rerun -x rake

or

rerun -cx rspec

And if you´re using Spork https://github.com/sporkrb/spork with Rails, you need to restart
your spork server https://github.com/sporkrb/spork/issues/201 whenever certain Rails
environment files change, so why not put this in your Rakefile...

desc "run spork (via rerun)"
task :spork do
sh "rerun --pattern ´{Gemfile,Gemfile.lock,spec/spec_helper.rb,.rspec,spec/factories/**,config/environment.rb,config/environments/test.rb,config/initializers/*.rb,lib/**/*.rb}´ -- spork"
end

and start using rake spork to launch your spork server?

(If you´re using Guard instead of Rerun, check out guard-spork
https://github.com/guard/guard-spork for a similar solution.)

How about regenerating your HTML files after every change to your Erector
http://erector.rubyforge.org widgets?

rerun -x erector --to-html my_site.rb

Use Heroku Cedar? rerun is now compatible with foreman. Run all your Procfile processes
locally and restart them all when necessary.

rerun foreman start

OPTIONS


-d, --dir
directory (or directories) to watch (default = "."). Separate multiple paths with
´,´ and/or use multiple -d options.

-p, --pattern
glob to match inside directory. This uses the Ruby Dir glob style -- see
http://www.ruby-doc.org/core/classes/Dir.html#M002322 for details.

By default it watches files ending in:
rb,js,css,coffee,scss,sass,erb,html,haml,ru,slim,md. On top of this, it also
ignores dotfiles, .tmp files, and some other files and directories (like .git and
log). Run rerun --help to see the actual list.

-i, --ignore pattern
file glob to ignore (can be set many times). To ignore a directory, you must append
´/*´ e.g. --ignore ´coverage/*´.

On top of --pattern and --ignore, we ignore any changes to files and dirs starting
with a dot.

-s, --signal
use specified signal (instead of the default SIGTERM) to terminate the previous
process. This may be useful for forcing the respective process to terminate as
quickly as possible. (--signal KILL is the equivalent of kill -9)

-h, --hup
when restarting, send a SIGHUP signal instead of trying to terminate the process
and run a new one. This assumes the process is capable of restarting by itself (as
e.g. unicorn is).

-c, --clear
clear the screen before each run

-x, --exit
expect the program to exit. With this option, rerun checks the return value;
without it, rerun checks that the launched process is still running.

-b, --background
disable on-the-fly commands, allowing the process to be backgrounded

-n, --name
set the app name (for display)

Also --version and --help, naturally.

ON-THE-FLY COMMANDS


While the app is (re)running, you can make things happen by pressing keys:

· r -- restart (as if a file had changed)

· c -- clear the screen

· x or q -- exit (just like control-C)

· p -- pause/unpause filesystem watching

If you´re backgrounding or using Pry or a debugger, you might not want these keys to be
trapped, so use the --background option.

SIGNALS


The current algorithm for killing the process is:

· send SIGTERM http://en.wikipedia.org/wiki/SIGTERM (or the value of the --signal
option)

· if that doesn´t work after 4 seconds, send SIGINT (aka control-C)

· if that doesn´t work after 2 more seconds, send SIGKILL (aka kill -9)

This seems like the most gentle and unixy way of doing things, but it does mean that if
your program ignores SIGTERM, it takes an extra 4 to 6 seconds to restart.

August 2015 RERUN(1)

Use rerun online using onworks.net services


Free Servers & Workstations

Download Windows & Linux apps

  • 1
    strace
    strace
    The strace project has been moved to
    https://strace.io. strace is a
    diagnostic, debugging and instructional
    userspace tracer for Linux. It is used
    to monitor a...
    Download strace
  • 2
    gMKVExtractGUI
    gMKVExtractGUI
    A GUI for mkvextract utility (part of
    MKVToolNix) which incorporates most (if
    not all) functionality of mkvextract and
    mkvinfo utilities. Written in C#NET 4.0,...
    Download gMKVExtractGUI
  • 3
    JasperReports Library
    JasperReports Library
    JasperReports Library is the
    world's most popular open source
    business intelligence and reporting
    engine. It is entirely written in Java
    and it is able to ...
    Download JasperReports Library
  • 4
    Frappe Books
    Frappe Books
    Frappe Books is a free and open source
    desktop book-keeping software that's
    simple and well-designed to be used by
    small businesses and freelancers. It'...
    Download Frappe Books
  • 5
    Numerical Python
    Numerical Python
    NEWS: NumPy 1.11.2 is the last release
    that will be made on sourceforge. Wheels
    for Windows, Mac, and Linux as well as
    archived source distributions can be fou...
    Download Numerical Python
  • 6
    CMU Sphinx
    CMU Sphinx
    CMUSphinx is a speaker-independent large
    vocabulary continuous speech recognizer
    released under BSD style license. It is
    also a collection of open source tools ...
    Download CMU Sphinx
  • More »

Linux commands

crm
crm
Use crm online using onworks.net
services. ...
Run crm
  • 4
    crmgr
    crmgr
    crmgr - administration utility for QDBM
    Curia ...
    Run crmgr
  • 5
    gappletviewer
    gappletviewer
    gappletviewer - Load and runs an applet
    ...
    Run gappletviewer
  • 6
    gaps
    gaps
    mummer - package for sequence alignment
    of multiple genomes ...
    Run gaps
  • s-processed="true">
    g15stats
    g15stats - A CPU/Memory/Swap usage
    meter for G15Daemon DESCRIPTION: The
    packages provides the following usage
    meter for LCD on some Logitech
    keyboards, usind g...
    Run g15stats
  • More »
  • Ad