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
    AstrOrzPlayer
    AstrOrzPlayer
    AstrOrz Player is a free media player
    software, part based on WMP and VLC. The
    player is in a minimalist style, with
    more than ten theme colors, and can also
    b...
    Download AstrOrzPlayer
  • 2
    movistartv
    movistartv
    Kodi Movistar+ TV es un ADDON para XBMC/
    Kodi que permite disponer de un
    decodificador de los servicios IPTV de
    Movistar integrado en uno de los
    mediacenters ma...
    Download movistartv
  • 3
    Code::Blocks
    Code::Blocks
    Code::Blocks is a free, open-source,
    cross-platform C, C++ and Fortran IDE
    built to meet the most demanding needs
    of its users. It is designed to be very
    extens...
    Download Code::Blocks
  • 4
    Amidst
    Amidst
    Amidst or Advanced Minecraft Interface
    and Data/Structure Tracking is a tool to
    display an overview of a Minecraft
    world, without actually creating it. It
    can ...
    Download Amidst
  • 5
    MSYS2
    MSYS2
    MSYS2 is a collection of tools and
    libraries providing you with an
    easy-to-use environment for building,
    installing and running native Windows
    software. It con...
    Download MSYS2
  • 6
    libjpeg-turbo
    libjpeg-turbo
    libjpeg-turbo is a JPEG image codec
    that uses SIMD instructions (MMX, SSE2,
    NEON, AltiVec) to accelerate baseline
    JPEG compression and decompression on
    x86, x8...
    Download libjpeg-turbo
  • More »

Linux commands

Ad