Správa procesů na pozadí
Spusťte příkaz, který přežije tah chatu, sledujte jeho výstup a zastavte ho, když ho už nepotřebujete.
Spusťte proces
- Požádejte Chettyho o spuštění příkazu s
run_in_background: true. - Poznamenejte si ID procesu, které vrátí; Chetty Vás upozorní, až proces skončí.
- Pokračujte v další práci.
Pro dlouho běžící server nebo watcher nastavte backgroundMode: "service". Výchozí režim na pozadí je job. Bash přijímá pro odpojené spuštění jen run_in_background; vyřazený argument background se odmítne.
Najděte a přečtěte proces
Část Procesy v postranním panelu chatu ukazuje běžící procesy na pozadí a dovolí zobrazit výstup nebo proces zastavit.
ListProcessesvypíše procesy na pozadí spuštěné v této konverzaci.ProcessOutputvrátí nový výstup od posledního čtení;all: truevrátí uchovaný výstup.- Čtení čeká ve výchozím nastavení až 30 sekund a nejvýše 600 sekund. Čtení, kterému vyprší čas, proces nezastaví a
block: falsenahlédne bez čekání. - V CLI může Ctrl+B uvolnit i čekající čtení a nechat proces běžet pro pozdější čtení.
Vyrovnávací paměť výstupu drží jen posuvný konec pod limitem výstupu, takže starší výstup se může ztratit a výsledek hlásí, kolik se ho ztratilo. Přečtení skončeného procesu vrátí zbývající výstup a vyzvedne ho, takže jeho ID už neplatí.
Zastavte proces
KillProcess okamžitě zastaví proces i jeho sledované potomky, bez čistého ukončení a vyprázdnění bufferů, a zahodí vyrovnávací paměť výstupu. Použijte ho jen tehdy, když je to přijatelné, protože sestavení nebo migrace může zůstat nedokončená. Neznámé ID žádný proces nezastaví.
Limity
- Relace a účet udrží ve výchozím nastavení nejvýše 16 procesů na pozadí; nastavitelný rozsah je 1–64.
- Když je limit plný, další proces nelze spustit ani odpojit. Proces přestane do limitu počítat, jakmile skončí.
- Další pokus o spuštění procesu na pozadí odstraní skončené procesy ze seznamu, takže si výstup skončeného procesu přečtěte dřív, než spustíte další.
- Restart démona ukončí procesy na pozadí a odstraní jejich záznamy, takže server nebo watcher musíte spustit znovu.
- Naplánované úlohy a workeři bez konverzace nemohou procesy na pozadí spustit ani odpojit.
Plány a oprávnění
V plánovacím režimu jsou dostupné ListProcesses a ProcessOutput. Bash zůstává dostupný jen podle pravidel plánovacího režimu pro nedestruktivní shell a KillProcess během plánování dostupný není.
Bash a KillProcess mohou měnit stav systému. Přímé spouštění na pozadí na hostiteli vyžaduje Linux a příkaz, který schválíte v dotazu na oprávnění, se nikdy sám nepřesune na pozadí.
Když proces nelze spustit
- Limit je plný: přečtěte nebo zastavte skončený proces a zkuste to znovu.
- Proces zmizel po restartu: restart démona procesy na pozadí vyčistí. Spusťte ho znovu.
- Čeká dotaz: příkaz schvalte a potom ho spusťte na pozadí, pokud má běžet dál.
Související návody
Přehled terminálu, Spuštění příkazu shellu, Spuštění příkazu na pozadí, Otevření interaktivního terminálu Projektu.