Spustenie príkazu shellu
Požiadajte Chettyho o spustenie príkazu a vedzte, kde beží, ako dlho smie trvať a čo sa stane, keď mu dôjde čas.
Skôr než začnete
Plugin terminal musí byť pridelený Vášmu účtu; prečítajte si Priradenie pluginu účtu.
Kde príkaz beží
Chetty zisťuje prístup k príkazom pri každom spustení cez plugin Sandbox.
- V konverzácii s Projektom sa príkazy riadia prístupovou politikou Projektu a začínajú v koreni Projektu.
- V spravovanom Projekte bežia v prostredí daného Projektu.
- Konverzácia mieriaca do iného adresára, napríklad do Git worktree, beží tam.
Ak Sandbox nie je dostupný, spúšťanie v spravovanom Projekte sa odmietne. Explicitný režim priameho hostiteľa smie použiť iba vlastník inštancie a blokujúci reštart démona Chettyho alebo požiadavka obísť Sandbox sa odmietne.
Zachovajte pracovný adresár
Pracovný adresár sa prenáša z jedného úspešného príkazu na popredí do ďalšieho.
- Odovzdajte
cwd, ak chcete príkaz spustiť v danom adresári. - Keď príkaz úspešne skončí, adresár, v ktorom skončil, sa stane pracovným adresárom ďalších volaní.
Premenné a funkcie shellu sa medzi volaniami neprenášajú. V CLI mení pracovný adresár konverzácie /cd a argument cwd ho na jedno volanie prepíše.
Počkajte na príkaz
Volanie Bash na popredí čaká najviac timeout v milisekundách: 120 000 v predvolenom nastavení a najmenej 1. Zvyčajné maximum je 600 000.
Keď vo vlastnej interaktívnej konverzácii vyprší lehota, Chetty príkaz zvyčajne presunie na pozadie a vráti jeho ID procesu. Beží ďalej bez ďalšej lehoty a výstup si môžete prečítať neskôr.
To sa nestane pri príkaze schválenom v otázke na oprávnenie, keď je limit procesov na pozadí plný, ani pri zdieľaných miestnostiach, delegovanej, workflow, naplánovanej a inej práci bez relácie; také príkazy sa po vypršaní lehoty zastavia. V CLI môžete bežiaci príkaz na popredí odpojiť sami stlačením Ctrl+B a jeho výstup zostane dostupný cez nástroje pre procesy.
Admin: Na vlastnej inštalácii nastavte
bashDefaultTimeoutMsabashMaxTimeoutMsvharness.jsonv adresári inštancie a potom reštartujte démona. Obe hodnoty sú v milisekundách v rozsahu 1–900000 a maximum musí byť najmenej rovné predvolenej hodnote.
Nevyčkávajte pomocou sleep
Príkaz, ktorý je iba sleep s dobou dve sekundy a viac, sa na popredí odmietne, napríklad sleep 2 alebo sleep 5m, pretože trávi ťah čakaním.
Skutočnú prácu spustite s run_in_background: true a počkajte na ňu nástrojom ProcessOutput. Príkaz, ktorý robí viac než spí, napríklad sleep 19; tail build.log, je povolený, rovnako ako spánok kratší než dve sekundy.
Keď príkaz neskončí
- Lehota vypršala: v zdieľanej miestnosti, delegovanej práci alebo naplánovanej úlohe sa príkaz zastaví. Dlhú prácu spúšťajte na pozadí.
- Príkaz sa odmietol: izolovaný účet na danú cestu nedosiahne alebo Sandbox nie je dostupný.
- Pracovný adresár je iný, než čakáte: odovzdajte pre jedno volanie
cwdvýslovne. - Stratili ste výstup: príkaz presunutý na pozadie si ho ponechá; prečítajte ho nástrojom
ProcessOutput.
Súvisiace návody
Prehľad terminálu, Správa procesov na pozadí, Spustenie príkazu na pozadí, Prehľad Projektov.