OpenClaw ejecuta comandos de shell mediante la herramientaDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
exec y mantiene las tareas de larga duración en memoria. La herramienta process gestiona esas sesiones en segundo plano.
herramienta exec
Parámetros clave:command(obligatorio)yieldMs(predeterminado 10000): pasa automáticamente a segundo plano después de este retrasobackground(bool): pasa a segundo plano inmediatamentetimeout(segundos, predeterminadotools.exec.timeoutSec): termina el proceso después de este tiempo de espera; establecetimeout: 0solo para desactivar el tiempo de espera del proceso exec para esa llamadaelevated(bool): ejecuta fuera del sandbox si el modo elevado está habilitado/permitido (gatewayde forma predeterminada, onodecuando el destino de exec esnode)- ¿Necesitas una TTY real? Establece
pty: true. workdir,env
- Las ejecuciones en primer plano devuelven la salida directamente.
- Cuando se envía a segundo plano (explícitamente o por tiempo de espera), la herramienta devuelve
status: "running"+sessionIdy una cola breve. - Las ejecuciones con segundo plano y
yieldMsheredantools.exec.timeoutSecsalvo que la llamada proporcione untimeoutexplícito. - La salida se conserva en memoria hasta que la sesión se consulta o se borra.
- Si la herramienta
processno está permitida,execse ejecuta sincrónicamente e ignorayieldMs/background. - Los comandos exec generados reciben
OPENCLAW_SHELL=execpara reglas de shell/perfil conscientes del contexto. - Para trabajo de larga duración que comienza ahora, inícialo una vez y usa la activación de finalización automática cuando esté habilitada y el comando emita salida o falle.
- Si la activación de finalización automática no está disponible, o necesitas confirmación
de éxito silencioso para un comando que salió limpiamente sin salida, usa
processpara confirmar la finalización. - No emules recordatorios ni seguimientos retrasados con bucles
sleepo sondeos repetidos; usa cron para trabajo futuro.
Puenteo de procesos secundarios
Al generar procesos secundarios de larga duración fuera de las herramientas exec/process (por ejemplo, reinicios de CLI o ayudantes del gateway), adjunta el ayudante de puente de procesos secundarios para que las señales de terminación se reenvíen y los escuchas se desacoplen al salir/error. Esto evita procesos huérfanos en systemd y mantiene un comportamiento de apagado coherente entre plataformas. Sobrescrituras de entorno:PI_BASH_YIELD_MS: rendimiento predeterminado (ms)PI_BASH_MAX_OUTPUT_CHARS: límite de salida en memoria (caracteres)OPENCLAW_BASH_PENDING_MAX_OUTPUT_CHARS: límite de stdout/stderr pendiente por flujo (caracteres)PI_BASH_JOB_TTL_MS: TTL para sesiones finalizadas (ms, limitado a 1m–3h)OPENCLAW_PROCESS_INPUT_WAIT_IDLE_MS: umbral de salida inactiva antes de que las sesiones en segundo plano escribibles se marquen como probablemente esperando entrada (predeterminado 15000 ms)
tools.exec.backgroundMs(predeterminado 10000)tools.exec.timeoutSec(predeterminado 1800)tools.exec.cleanupMs(predeterminado 1800000)tools.exec.notifyOnExit(predeterminado true): encola un evento del sistema + solicita heartbeat cuando un exec en segundo plano sale.tools.exec.notifyOnExitEmptySuccess(predeterminado false): cuando es true, también encola eventos de finalización para ejecuciones en segundo plano correctas que no produjeron salida.
herramienta process
Acciones:list: sesiones en ejecución + finalizadaspoll: drena la salida nueva de una sesión (también informa el estado de salida)log: lee la salida agregada y muestra pistas de recuperación de entrada (admiteoffset+limit)write: envía stdin (data,eofopcional)send-keys: envía tokens de tecla explícitos o bytes a una sesión respaldada por PTYsubmit: envía Enter / retorno de carro a una sesión respaldada por PTYpaste: envía texto literal, opcionalmente envuelto en modo de pegado entre corcheteskill: termina una sesión en segundo planoclear: elimina una sesión finalizada de la memoriaremove: termina si está en ejecución; de lo contrario, borra si finalizó
- Solo las sesiones en segundo plano se listan/persisten en memoria.
- Las sesiones se pierden al reiniciar el proceso (sin persistencia en disco).
- Los registros de sesión solo se guardan en el historial de chat si ejecutas
process poll/logy se registra el resultado de la herramienta. processtiene alcance por agente; solo ve sesiones iniciadas por ese agente.- Usa
poll/logpara estado, registros, confirmación de éxito silencioso o confirmación de finalización cuando la activación de finalización automática no esté disponible. - Usa
logantes de recuperar una CLI interactiva para que la transcripción actual, el estado de stdin y la pista de espera de entrada sean visibles juntos. - Usa
write/send-keys/submit/paste/killcuando necesites entrada o intervención. process listincluye unnamederivado (verbo del comando + destino) para revisiones rápidas.process list,pollyloginformanwaitingForInputsolo cuando la sesión todavía tiene stdin escribible y ha estado inactiva durante más tiempo que el umbral de espera de entrada.process logusaoffset/limitbasados en líneas.- Cuando se omiten tanto
offsetcomolimit, devuelve las últimas 200 líneas e incluye una pista de paginación. - Cuando se proporciona
offsety se omitelimit, devuelve desdeoffsethasta el final (sin limitar a 200). - El sondeo es para estado bajo demanda, no para programar bucles de espera. Si el trabajo debe ocurrir más tarde, usa cron en su lugar.