Ich vergesse regelmäßig && shutdown -h now
, einen lang laufenden Prozess zu ergänzen . Gibt es eine Möglichkeit, einen shutdown -h now
Befehl hinzuzufügen, nachdem der erste Befehl aufgerufen wurde? Es ist nicht beabsichtigt, den laufenden Prozess zu unterbrechen. Vielleicht ist es möglich, die PID zu sehen?
command-line
bash
shutdown
process
brubaker
quelle
quelle
&&
, nur ausgeführt wird, wenn der vorherige Befehl erfolgreich war. Wenn Sie möchten, dass es ausgeführt wird, auch wenn der Befehl fehlschlägt, verwenden Sie;
stattdessen.Antworten:
Es ist nicht erforderlich, ps wiederholt auszuführen, um alle Prozesse aufzulisten und die Ausgabe zu durchsuchen. Hintergrund des Vorgangs mit Strg-Z, dann ausführen
Wenn andere Hintergrundjobs ausgeführt werden, erhalten Sie bei gedrückter Strg-Z-Taste anstelle von [1] eine andere Jobspezifikation. Wenn ja, verwenden Sie das stattdessen.
quelle
Sie können Folgendes tun, um zu überprüfen, ob der Prozess alle 5 Sekunden ausgeführt wird, und geeignete Maßnahmen zu ergreifen:
Beachten Sie die eckigen Klammern im
grep
Ausdruck. Dies soll sicherstellen, dass dergrep
Prozess nicht übereinstimmt, wenn er in derps
Liste landet . Es ist ausreichend, ein einzelnes Zeichen mit eckigen Klammern zu umgeben.quelle
Ich mache das die ganze Zeit.
&&
Befehl auszuführen .fg && shutdown -h now
zu:Alternativ können Sie wie in anderen Antworten vorgeschlagen abfragen:
quelle
Wenn Sie die PID kennen, können Sie Folgendes ausführen:
Um ohne Echo von ps zu laufen, gehen Sie wie folgt vor:
Und schließlich, um es im Hintergrund ohne Ausgabe auszuführen:
Scotts Lösung ist gut, aber dies beseitigt die Notwendigkeit,
grep
immer wieder zu arbeiten, wenn Sie die PID bereits kennen. Und es ist viel schneller einzugeben .: P.quelle
Erstellen Sie ein Shell-Skript, um beide Prozesse auszuführen:
MyShellScript.txt:
Nachdem Sie dies in dem Verzeichnis gespeichert haben, in dem Sie den angegebenen Prozess starten, führen Sie Folgendes aus:
Wenn Sie dann den Befehl ausführen möchten, geben Sie einfach ein
./MyShellScript.txt
und er erledigt beides für Sie.quelle