Ich versuche, die Ausführung einiger Programme zu planen. Ich benutze diesen Befehl:
./tests.o | at 15:00&
Wenn ich es richtig verstanden habe, war das beabsichtigte Verhalten, die Ausführung bis 15:00 Uhr zu verzögern. Wenn ich jedoch ausgeführt werde top
, sobald ich den obigen Befehl starte, sehe ich bereits tests.o, der CPU-Zeit verbraucht.
Da ich mehrere Tests für gemeinsam genutzte Ressourcen starten muss, frage ich mich, wie ich "at" richtig verwenden soll.
Was mache ich falsch?
linux
command-line
bash
scheduled-tasks
at
Mick Hardins
quelle
quelle
&
die nicht benötigt wird) ist richtig, wenn./tests.o
die Befehle, die Sie um 15:00 Uhr ausführen möchten, generiert (auf die Standardausgabe gedruckt) werden.Antworten:
at
liest Befehle von der Standardeingabe. Was Sie tun, ist das Ausführen./tests.o
und Zuführen der Ausgabezeichenfolge (n) als Befehl (e)at
zum Planen. Außerdem ist das Trailing nicht erforderlich&
, da esat
sofort zurückkehrt.Was Sie brauchen ist:
oder:
Sie müssen Anführungszeichen verwenden, wenn der geplante Befehl die Umleitung oder andere Shell-Funktionen verwenden soll, z.
quelle