8. Wie es innen funktioniert
8.3 Hintergrundprozesse
Was mit der App startet, was beim Schließen beendet wird und warum keine Programme ohne dein Wissen weiterlaufen.
Kurz gesagt
- Wenn du Atollo öffnest, starten nur die Dinge, die du verlangt hast: die Datenbanken und Server mit „Mit Atollo starten“.
- Jedes vom Kit gestartete Programm ist an die App gebunden: Wenn die App sich schließt, selbst auf die schlimmste Weise, schließen sie sich mit ihr.
- Nur ein Fenster pro Kit-Ordner: Ein erneutes Öffnen holt das vorhandene in den Vordergrund.
Beim Start
- OrdnerLegt projects und data an, falls sie fehlen, und prüft, ob es schreiben kann.
- OrtBemerkt, ob das Kit verschoben wurde, und vermerkt es.
- UmgebungLiest die Einstellungen und baut die Umgebung des Kits auf.
- FensterNur eines pro Ordner; dann öffnet es das Fenster.
- HintergrundStartet, was mit „Mit Atollo starten“ markiert ist, gleicht die Agenten und Git ab, sucht nach Updates.
- Datenbankserver und Webserver-Profile mit „Mit Atollo starten“ starten direkt nach dem Öffnen.
- Fehlende Pflichtkomponenten und solche, die neu installiert werden müssen, werden automatisch installiert; beim ersten Start nicht: Dort wird alles erst mit „Installieren“ auf der Seite „Willkommen“ heruntergeladen.
- Anweisungen, Skills und MCP-Server der Agenten werden abgeglichen; wenn das Kit verschoben wurde, werden die Pfade aktualisiert.
- Git folgt dem Kit-Ordner (safe.directory) und dem GitHub-Konto: Wenn „Wer die Commits signiert“ leer ist, kommen Name und private Adresse vom Konto.
- Nach 10 Sekunden die Versionen, die jede Quelle anbietet, für die Menüs, die eine herunterladen (höchstens einmal am Tag); danach, mit „Automatisches Update“ an, die neueste Version jeder installierten Komponente, für den Bereich „Aktualisierungen“ von Werkzeuge (ebenfalls höchstens einmal am Tag).
- Nach 20 Sekunden, falls aktiviert, die Prüfung auf Updates von Atollo (wenn du „Automatisches Update“ vorher ausschaltest, wird sie gestoppt).
Während du arbeitest
| Was | Wann es startet | Wann es stoppt |
|---|---|---|
| Aktionen der Projekte | Mit „Starten“ oder ▶ | Mit „Beenden“ oder beim Schließen der App |
| Gemeinsame Webserver | Mit dem ersten Projekt, das sie nutzt, über die Seite Webserver oder mit „Mit Atollo starten“ | Mit dem letzten Projekt, außer wenn über die Seite Webserver gestartet oder mit „Auch ohne Projekte aktiv lassen“; mit „Beenden“; beim Schließen |
| Datenbanken | Mit „Starten“, „Mit Atollo starten“ oder wenn ein Projekt sie anfordert | Mit „Beenden“ oder beim Schließen (geordnetes Herunterfahren) |
| Editor | Mit dem ersten „Editor“ | Beim Schließen der App |
| Konsolen und Agenten | Mit „Terminal“, „Öffnen“, den Logos der Agenten | Wenn du sie schließt oder beim Schließen der App |
| Server der lokalen Modelle | Mit „Starten“, „Mit Atollo starten“ oder durch Öffnen von Pi mit einem lokalen Modell | Mit „Beenden“, „Alles stoppen“ oder beim Schließen; ein Modell verlässt den Speicher nach zehn Minuten ohne Anfragen |
Das Schließen einer Konsole fährt die Datenbanken nicht herunter: Sie bleiben an, bis du sie stoppst oder die App schließt. Das Panel Aktivität (über die Statusleiste) listet die Aktionen der Projekte, jede gestartete Datenbankversion, die aktiven Pools und den Server der lokalen Modelle auf; „Alles stoppen“ stoppt sie nach einer Bestätigung.
Beim Schließen
Wenn etwas geöffnet ist, fragt Atollo „Atollo schließen?“ mit der Liste; „Alles schließen“ stoppt die Aktionen, die Webserver und den Server der lokalen Modelle, fährt die Datenbanken geordnet herunter und beendet sich dann. Bevor du das Laufwerk abziehst, verwende Das Laufwerk sicher entfernen (7.1).
Unter der Haube
- Unter Windows leben alle Programme des Kits in einem Job Object mit der Option „beim Schließen beenden“: Wenn die App auf irgendeine Weise endet, schließt Windows auch sie. Editor und Aktionen haben einen eigenen Job innerhalb dessen der App.
- Unter macOS und Linux bemerkt ein kleiner Wächterprozess, wenn die App abstürzt, und schließt die Prozessgruppen des Kits (SIGTERM, dann SIGKILL nach 5 Sekunden).
- Die Einzelinstanz verwendet eine aus dem Kit-Ordner abgeleitete Kennung (ein Mutex unter Windows, ein Lock unter macOS und Linux): Zwei verschiedene Kits stören sich nicht.
- Jeder Port hat nur einen Besitzer: einen Pool (standardmäßig 8081 bis 8999), eine Datenbankversion, eine Aktion eines Projekts (standardmäßig 7100 bis 7999), den Server der lokalen Modelle (9931 und folgende); 7000 bis 7099 gehören dem Editor. Ein bereits vergebener Port wird mit dem Namen dessen abgelehnt, der ihn hält (zum Beispiel „Port 3306 gehört bereits zur Datenbank MySQL 8.4: Wähle einen anderen.“), und der automatische Port eines neuen Pools meidet sie alle.
- Jede Version einer Datenbank behält ihren eigenen Port, auch wenn du die Version des Servers wechselst; zwei Starts derselben Version starten nur einen Server, auf demselben Port.
- Browser und Datei-Explorer werden außerhalb des Jobs geöffnet: Sie bleiben auch nach dem Schließen von Atollo offen.
- Beim Schließen wird die ausführbare Datei ersetzt, wenn ein Update bereitsteht.