Správa procesov na pozadí
Spustite príkaz, ktorý prežije ťah chatu, sledujte jeho výstup a zastavte ho, keď ho už nepotrebujete.
Spustite proces
- Požiadajte Chettyho o spustenie príkazu s
run_in_background: true. - Poznamenajte si ID procesu, ktoré vráti; Chetty Vás upozorní, keď proces skončí.
- Pokračujte v ďalšej práci.
Pre dlho bežiaci server alebo watcher nastavte backgroundMode: "service". Predvolený režim na pozadí je job. Bash prijíma pre odpojené spustenie iba run_in_background; vyradený argument background sa odmietne.
Nájdite a prečítajte proces
Časť Procesy v postrannom paneli chatu ukazuje bežiace procesy na pozadí a dovolí zobraziť výstup alebo proces zastaviť.
ListProcessesvypíše procesy na pozadí spustené v tejto konverzácii.ProcessOutputvráti nový výstup od posledného čítania;all: truevráti uchovaný výstup.- Čítanie čaká v predvolenom nastavení až 30 sekúnd a najviac 600 sekúnd. Čítanie, ktorému vyprší čas, proces nezastaví a
block: falsenahliadne bez čakania. - V CLI môže Ctrl+B uvoľniť aj čakajúce čítanie a nechať proces bežať pre neskoršie čítanie.
Vyrovnávacia pamäť výstupu drží iba posuvný koniec pod limitom výstupu, takže starší výstup sa môže stratiť a výsledok hlási, koľko sa ho stratilo. Prečítanie skončeného procesu vráti zostávajúci výstup a vyzdvihne ho, takže jeho ID už neplatí.
Zastavte proces
KillProcess okamžite zastaví proces aj jeho sledované potomky, bez čistého ukončenia a vyprázdnenia bufferov, a zahodí vyrovnávaciu pamäť výstupu. Použite ho iba vtedy, keď je to prijateľné, pretože zostavenie alebo migrácia môže zostať nedokončená. Neznáme ID žiadny proces nezastaví.
Limity
- Relácia a účet udržia v predvolenom nastavení najviac 16 procesov na pozadí; nastaviteľný rozsah je 1–64.
- Keď je limit plný, ďalší proces nemožno spustiť ani odpojiť. Proces prestane do limitu počítať, keď skončí.
- Ďalší pokus o spustenie procesu na pozadí odstráni skončené procesy zo zoznamu, takže si výstup skončeného procesu prečítajte skôr, než spustíte ďalší.
- Reštart démona ukončí procesy na pozadí a odstráni ich záznamy, takže server alebo watcher musíte spustiť znova.
- Naplánované úlohy a workeri bez konverzácie nemôžu procesy na pozadí spustiť ani odpojiť.
Plány a oprávnenia
V plánovacom režime sú dostupné ListProcesses a ProcessOutput. Bash zostáva dostupný iba podľa pravidiel plánovacieho režimu pre nedestruktívny shell a KillProcess počas plánovania dostupný nie je.
Bash a KillProcess môžu meniť stav systému. Priame spúšťanie na pozadí na hostiteľovi vyžaduje Linux a príkaz, ktorý schválite v otázke na oprávnenie, sa nikdy sám nepresunie na pozadie.
Keď proces nemožno spustiť
- Limit je plný: prečítajte alebo zastavte skončený proces a skúste to znova.
- Proces zmizol po reštarte: reštart démona procesy na pozadí vyčistí. Spustite ho znova.
- Čaká otázka: príkaz schváľte a potom ho spustite na pozadí, ak má bežať ďalej.
Súvisiace návody
Prehľad terminálu, Spustenie príkazu shellu, Spustenie príkazu na pozadí, Otvorenie interaktívneho terminálu Projektu.