Wie kann man unter macOS alle Terminalprozesse (Fenster) schließen (beenden)?

0

Mit macOS sierra suche ich einen Befehl, mit dem ich alle geöffneten Terminalfenster (Prozesse) schließen / beenden kann. Außerdem sollte es alle Prozesse beenden, die von diesen Terminals geöffnet werden ... Warum pkill Terminalfunktioniert es nicht?

Ich werde tun
quelle

Antworten:

2

Kurze Antwort:

pkill -a Terminal

Etwas längere Antwort:

Der obige Befehl durchsucht alle Prozesse mit dem Namen "Terminal" und beendet sie. Dadurch werden der Shell-Prozess (z. B. bash) und alle Prozesse in demselben Prozessbaum (Befehle, die unter der Kontrolle der Shell ausgeführt werden) beendet. GUI-Anwendungen werden wahrscheinlich nicht beendet, da sie sich häufig verdoppeln . Da diese nicht mehr mit dem TerminalProzess verbunden sind, ist es nicht möglich, herauszufinden, welche ursprünglich vom Terminal gestartet wurden.

Führen Sie außerdem Folgendes aus, um den Prozess zu finden, ohne ihn zu beenden:

pgrep -a Terminal
mnewt
quelle
Warum pkill Terminalgeht das nicht?
Illdo
Tut mir leid. Die Antwort wurde bearbeitet, um meinen Fehler zu korrigieren
mnewt
Ich habe versucht, pkill -a Terminal - ja, es schließt alle Terminals. Aber wenn ich das Terminal wieder öffne, öffnen sich alle zuvor geschlossenen Fenster wieder = (
illdo
Aha. Dies ist das Beste, was mir derzeit tell application "Terminal" close every window quit end telleinfällt: Sie werden jedoch aufgefordert, das Schließen der einzelnen Registerkarten zu bestätigen. Ich habe nicht herausgefunden, wie ich das per Skript umgehen kann.
Mittwoch,
0

Wie wäre es cmd+q? Es schließt die Anwendung und alle Fenster davon. Wenn Sie Tastaturbefehle senden können .

  • Sie werden gefragt, ob Sie alle Prozesse beenden möchten, bevor Sie alle Terminals schließen.
  • Beim nächsten Start werden nicht alle geschlossenen Terminals wieder geöffnet.
Lukas
quelle
habe dies versucht, aber es bricht keine Prozesse ab, die in Terminals ausgeführt wurden. Ich habe NodeJs Prozesse in Terminals - Terminals mit Cmd + Q geschlossen, aber wenn ich Terminal erneut ausführen - pgrep nodezeigt, dass dieser Prozess noch ausgeführt wird
illdo
Es tut mir leid, das zu hören :( Es hat bei mir funktioniert, wird aber eine Antwort für andere Googler hinterlassen
Lukas