Dies ist die Befehlswiederholung, die beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann
PROGRAMM:
NAME/FUNKTION
Wiederholung – startet Befehle und startet sie bei Dateisystemänderungen neu
ANWENDUNG
[Optionen] [--] cmd erneut ausführen
Beispiele:
Wenn Sie beispielsweise eine Sinatra-App ausführen, deren Hauptdatei ist app.rb:
Führen Sie Ruby app.rb erneut aus
Wenn der erste Teil des Befehls a ist .rb Dateiname also Rubin ist optional, also das oben Gesagte
lässt sich auch so bewerkstelligen:
Führen Sie app.rb erneut aus
Rails bemerkt nicht automatisch alle Änderungen an der Konfigurationsdatei, Sie können also einen Neustart erzwingen
wenn Sie eine Konfigurationsdatei wie folgt ändern:
Führen Sie --dir config Rails erneut aus
Oder wenn Sie Thin verwenden, um eine Rack-App auszuführen, die in config.ru konfiguriert ist, Sie es aber möchten
auf Port 4000 und im Debug-Modus und möchte nur das beobachten App und Netz Unterverzeichnisse:
Führen Sie --dir app,web --thin start --debug --port=4000 -R config.ru erneut aus
Die -- besteht darin, Wiederholungsoptionen von cmd-Optionen zu trennen. Sie können auch eine Zeichenfolge in Anführungszeichen für verwenden
der Befehl, z.B
Führen Sie --dir app „thin start --debug --port=4000 -R config.ru“ erneut aus.
Rackup kann auch zum Starten eines Rack-Servers verwendet werden, also versuchen wir Folgendes:
erneut ausführen --rackup --port 4000 config.ru
Möchten Sie den Autotest nachahmen https://github.com/grosser/autotest? Versuchen
-x rake erneut ausführen
or
Führen Sie -cx rspec erneut aus
Und wenn Sie Spork verwenden https://github.com/sporkrb/spork Bei Rails müssen Sie neu starten
Ihr Spork-Server https://github.com/sporkrb/spork/issues/201 wann immer bestimmte Schienen
Umgebungsdateien ändern sich, warum also nicht dies in Ihr Rakefile einfügen ...
desc „Spork ausführen (über Wiederholung)“
Aufgabe :spork tun
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"
Ende
und starten Sie mit Rechen Spork um Ihren Spork-Server zu starten?
(Wenn Sie Guard anstelle von Rerun verwenden, schauen Sie sich Guard-Spork an
https://github.com/guard/guard-spork für eine ähnliche Lösung.)
Wie wäre es, wenn Sie Ihre HTML-Dateien nach jeder Änderung an Ihrem Erector neu generieren würden?
http://erector.rubyforge.org Widgets?
Führen Sie -x erector --to-html my_site.rb erneut aus
Heroku-Zeder verwenden? Wiederholung ist jetzt kompatibel mit Vorarbeiter. Führen Sie alle Ihre Procfile-Prozesse aus
lokal installieren und bei Bedarf alle neu starten.
Vorarbeiterstart wiederholen
OPTIONAL
-d, --dir
Verzeichnis (oder Verzeichnisse), das überwacht werden soll (Standard = „.“). Trennen Sie mehrere Pfade mit
´,´ und/oder mehrere verwenden -d Optionen.
-p, --Muster
glob, damit es innerhalb des Verzeichnisses übereinstimmt. Dabei wird der Ruby-Dir-Glob-Stil verwendet – siehe
http://www.ruby-doc.org/core/classes/Dir.html#M002322 .
Standardmäßig überwacht es Dateien mit der Endung:
rb,js,css,coffee,scss,sass,erb,html,haml,ru,slim,md. Darüber hinaus ist es auch
ignoriert Dotfiles, .tmp Dateien und einige andere Dateien und Verzeichnisse (wie .git und
Log). Lauf Wiederholung --help um die aktuelle Liste anzuzeigen.
-i, --ignorieren Anleitungen
Datei-Glob zum Ignorieren (kann mehrfach festgelegt werden). Um ein Verzeichnis zu ignorieren, müssen Sie es anhängen
z.B --ignorieren ´Abdeckung/*´.
On Top of --Muster und --ignorieren, we ignorieren jedem Änderungen zu Dateien und dirs beginnend
mit a Punkt.
-s, --Signal
Verwenden Sie das angegebene Signal (anstelle des Standardsignals SIGTERM), um das vorherige zu beenden
Verfahren. Dies kann nützlich sein, um die Beendigung des jeweiligen Prozesses zu erzwingen
so schnell wie möglich. (--Signal KILL ist das Äquivalent von töten -9)
-h, --hup
Senden Sie beim Neustart ein SIGHUP-Signal, anstatt zu versuchen, den Prozess zu beenden
und führen Sie ein neues aus. Dies setzt voraus, dass der Prozess in der Lage ist, von selbst neu zu starten (wie
zB ist Einhorn).
-c, --klar
Löschen Sie den Bildschirm vor jedem Lauf
-x, --Ausfahrt
Erwarten Sie, dass das Programm beendet wird. Mit dieser Option überprüft Rerun den Rückgabewert;
Ohne diese Angabe überprüft rerun, ob der gestartete Prozess noch ausgeführt wird.
-b, --Hintergrund
Deaktivieren Sie spontane Befehle, sodass der Prozess im Hintergrund ausgeführt werden kann
-n, --Name
Legen Sie den App-Namen fest (zur Anzeige).
Lese ebenfalls: --Version und --helpnatürlich.
ON-THE-FLY BEFEHLE
Während die App (erneut) ausgeführt wird, können Sie durch Drücken der folgenden Tasten Dinge geschehen lassen:
· r -- Neustart (als ob sich eine Datei geändert hätte)
· c - Löschen Sie den Bildschirm
· x or q --exit (genau wie Strg-C)
· p - Dateisystemüberwachung anhalten/unterbrechen
Wenn Sie im Hintergrund arbeiten oder Pry oder einen Debugger verwenden, möchten Sie diese Schlüssel möglicherweise nicht haben
gefangen, also verwenden Sie die --Hintergrund .
SIGNALE
Der aktuelle Algorithmus zum Beenden des Prozesses ist:
· SIGTERM senden http://en.wikipedia.org/wiki/SIGTERM (oder der Wert des --Signal
Option)
· Wenn das nach 4 Sekunden nicht funktioniert, senden Sie SIGINT (auch bekannt als Control-C).
· Wenn das nach weiteren 2 Sekunden nicht funktioniert, senden Sie SIGKILL (auch bekannt als kill -9).
Dies scheint die sanfteste und einzigartigste Art zu sein, Dinge zu tun, aber es bedeutet, dass wenn
Wenn Ihr Programm SIGTERM ignoriert, dauert der Neustart weitere 4 bis 6 Sekunden.
August 2015 WIEDERHOLUNG(1)
Nutzen Sie die Online-Wiederholung über die Dienste von onworks.net