Navigace
ELOWEN · Dokumentace

Poslední aktualizace: 27. října 2026

Procházet dokumentaci · Spuštění příkazu shellu
Počítače, terminál a Git

Spuštění příkazu shellu

Požádejte Chettyho o spuštění příkazu a vězte, kde běží, jak dlouho smí trvat a co se stane, když mu dojde čas.

Než začnete

Plugin terminal musí být přidělen Vašemu účtu; přečtěte si Přidělení pluginu účtu.

Kde příkaz běží

Chetty zjišťuje přístup k příkazům při každém spuštění přes plugin Sandbox.

  • V konverzaci s Projektem se příkazy řídí přístupovou politikou Projektu a začínají v kořeni Projektu.
  • Ve spravovaném Projektu běží v prostředí daného Projektu.
  • Konverzace mířící do jiného adresáře, například do Git worktree, běží tam.

Pokud Sandbox není dostupný, spouštění ve spravovaném Projektu se odmítne. Explicitní režim přímého hostitele smí použít jen vlastník instance a blokující restart démona Chettyho nebo požadavek obejít Sandbox se odmítne.

Zachovejte pracovní adresář

Pracovní adresář se přenáší z jednoho úspěšného příkazu na popředí do dalšího.

  1. Předejte cwd, chcete-li příkaz spustit v daném adresáři.
  2. Když příkaz úspěšně skončí, adresář, ve kterém skončil, se stane pracovním adresářem dalších volání.

Proměnné a funkce shellu se mezi voláními nepřenášejí. V CLI mění pracovní adresář konverzace /cd a argument cwd ho na jedno volání přepíše.

Počkejte na příkaz

Volání Bash na popředí čeká nejvýše timeout v milisekundách: 120 000 ve výchozím nastavení a nejméně 1. Obvyklé maximum je 600 000.

Když ve vlastní interaktivní konverzaci vyprší lhůta, Chetty příkaz obvykle přesune na pozadí a vrátí jeho ID procesu. Běží dál bez další lhůty a výstup si můžete přečíst později.

To se nestane u příkazu schváleného v dotazu na oprávnění, když je limit procesů na pozadí plný, ani u sdílených místností, delegované, workflow, naplánované a jiné práce bez relace; takové příkazy se po vypršení lhůty zastaví. V CLI můžete běžící příkaz na popředí odpojit sami stisknutím Ctrl+B a jeho výstup zůstane dostupný přes nástroje pro procesy.

Admin: Na vlastní instalaci nastavte bashDefaultTimeoutMs a bashMaxTimeoutMs v harness.json v adresáři instance a potom restartujte démona. Obě hodnoty jsou v milisekundách v rozsahu 1–900000 a maximum musí být nejméně rovné výchozí hodnotě.

Nevyčkávejte pomocí sleep

Příkaz, který je jen sleep s dobou dvě sekundy a více, se na popředí odmítne, například sleep 2 nebo sleep 5m, protože tráví tah čekáním.

Skutečnou práci spusťte s run_in_background: true a počkejte na ni nástrojem ProcessOutput. Příkaz, který dělá víc než spí, třeba sleep 19; tail build.log, je povolený, stejně jako spánek kratší než dvě sekundy.

Když příkaz neskončí

  • Lhůta vypršela: ve sdílené místnosti, delegované práci nebo naplánované úloze se příkaz zastaví. Dlouhou práci spouštějte na pozadí.
  • Příkaz se odmítl: izolovaný účet na danou cestu nedosáhne nebo Sandbox není dostupný.
  • Pracovní adresář je jiný, než čekáte: předejte pro jedno volání cwd výslovně.
  • Ztratili jste výstup: příkaz přesunutý na pozadí si ho ponechá; přečtěte ho nástrojem ProcessOutput.

Přehled terminálu, Správa procesů na pozadí, Spuštění příkazu na pozadí, Přehled Projektů.