Documentation

Terminal et commandes des bacs à sable

Exécutez une commande et examinez son résultat, passez des arguments ou un script shell, ou ouvrez un terminal interactif dans un bac à sable en cours d’exécution.

Exécuter une commande

Utilisez un bac à sable en cours d’exécution et remplacez <sandbox-id> par son ID. Exec démarre dans /workspace, sauf si vous choisissez un autre répertoire. Il diffuse stdout et stderr en continu et se termine avec le code de sortie de la commande. Cet exemple devrait afficher Linux suivi d’un saut de ligne.

Si votre client se déconnecte, la commande est annulée. Runzivo ne journalise ni les commandes ni leur sortie, et ne les ajoute pas au journal d’activité.

Terminal · identifier le système d’exploitation de l’invité
rzv sandboxes exec <sandbox-id> -- uname -s

Passer les arguments tels quels

Dans rzv 0.21.0, deux arguments ou plus après -- sont transmis comme une liste d’arguments exacte. Mettez entre guillemets une valeur qui contient des espaces pour que votre shell local l’envoie comme un seul argument. Cet exemple affiche deux mots sur une seule ligne.

Un seul argument après -- est traité comme un script shell et transmis sans modification. Pour les scripts avec des tubes, des redirections ou &&, la forme explicite bash -lc de l’exemple suivant rend la frontière du shell claire.

Terminal · préserver une valeur qui contient des espaces
rzv sandboxes exec <sandbox-id> -- printf '%s\n' 'two words'

Écrire et examiner un fichier

Utilisez bash -lc avec un seul script entre guillemets quand la commande exige des opérateurs du shell. Les guillemets garantissent que > s’exécute dans le bac à sable plutôt que dans votre shell local. La première commande écrit result.txt. La seconde devrait afficher hello sandbox et un saut de ligne.

Terminal · exécuter une redirection du shell dans le bac à sable
rzv sandboxes exec <sandbox-id> -- bash -lc 'printf "hello sandbox\n" > result.txt'
rzv sandboxes exec <sandbox-id> -- cat result.txt

Choisir un répertoire, un délai et un environnement

Définissez --cwd pour le répertoire de travail distant, --timeout pour la limite de la commande en secondes et --env pour des paires KEY=VALUE séparées par des virgules. Les valeurs d’environnement ne peuvent pas contenir de virgules. Les valeurs par défaut sont /workspace et un délai de 300 secondes. Le délai maximal est de 3 600 secondes.

Cet exemple s’exécute dans /workspace, accorde 60 secondes et fournit une valeur GREETING non secrète. Le script entre guillemets développe GREETING dans le bac à sable et devrait afficher hello suivi d’un saut de ligne.

Terminal · options de la commande distante
rzv sandboxes exec <sandbox-id> --cwd /workspace --timeout 60 --env GREETING=hello -- bash -lc 'printf "%s\n" "$GREETING"'

Lire le code de sortie

Une commande réussie se termine avec 0. Une commande qui échoue retourne son code de sortie. Un dépassement de délai retourne 124. Dépasser la limite de sortie de 8 MiB retourne 137 et marque le résultat comme tronqué. Écrivez les gros résultats dans un fichier et examinez ce dont vous avez besoin plutôt que de tout diffuser.

Utilisez --json pour les scripts qui ont besoin d’événements stdout, stderr et exit structurés. Les blocs de sortie portent des données encodées en base64. L’événement exit final inclut exit_code, timed_out et truncated. Ce format est un flux d’événements, pas un seul objet JSON.

Terminal · diffuser des événements lisibles par machine
rzv sandboxes exec <sandbox-id> --json -- uname -s

Référence des événements exec et des codes de fermeture

Ouvrir un terminal

Sur macOS et Linux, ssh ouvre un shell interactif dans un bac à sable en cours d’exécution par l’entremise de Runzivo. Il ne se connecte pas directement à la VM. Chaque touche, y compris Ctrl-C, va à ce shell. Quittez avec la commande exit du shell. Sous Windows et pour les scripts, utilisez plutôt exec.

Un shell démarre à 80 par 24 et suit la taille de votre fenêtre. Si la connexion tombe, le shell se termine. Ouvrez un nouveau terminal pour continuer. Les fichiers de /workspace restent pendant la durée de vie du bac à sable. Le portail offre aussi un terminal sur la page du bac à sable.

Terminal · rzv sandboxes ssh
rzv sandboxes ssh <sandbox-id>

Connecter votre propre client de terminal

Pour un navigateur ou votre propre client WebSocket, demandez un ticket de terminal à usage unique. La sortie JSON inclut url, ticket, expires_at, connect_url, sandbox_id et workspace_id. Le ticket est un identifiant de courte durée. Gardez-le hors des captures d’écran, des journaux et des messages au soutien.

Utilisez --workspace <id> si le bac à sable se trouve hors de l’espace de travail actuellement sélectionné dans le CLI. Toutes les commandes sauf ssh acceptent --json.

Terminal · demander un ticket pour votre propre client
rzv sandboxes terminal-ticket <sandbox-id> --json

Référence de la connexion au terminal

Limites et raisons de fermeture

Chaque bac à sable exécute un nombre limité de commandes et de terminaux en même temps, et un terminal inactif se ferme. Quand un terminal se ferme, rzv sandboxes ssh et le portail en indiquent la raison.

Voir les limites de sessions

Lire les codes de fermeture dans la référence de l’API d’exécution et de terminal

Sur cette page et outils de la page

Interroger la documentation

Posez une question et ouvrez-la dans votre assistant d’IA. La consigne lui demande de répondre à partir de la documentation de Runzivo et d’indiquer les pages utilisées.

Essayez de demander

Votre question s’ouvre dans l’assistant que vous choisissez, selon ses propres conditions. Runzivo ne la voit pas et ne la conserve pas.