Ces exemples utilisent un jeton d’accès à l’API CoreWeave dans CWSANDBOX_API_KEY. Pour l’authentification par clé API Forge, voir Premiers pas. Pour les exigences relatives à CKS, voir Modes de placement.
Utilisez Sandbox.shell() pour les sessions TTY interactives. Conçue pour un usage interactif, cette méthode renvoie un objet TerminalSession qui diffuse les octets bruts en continu, sans mise en mémoire tampon de la sortie. Pour exécuter des commandes par lots, utilisez plutôt exec().
Session shell
Créez une sandbox et ouvrez une session de shell interactif. Appelée sans argument, Sandbox.run() utilise la commande longue durée par défaut. Les exemples suivants partent du principe que ce contexte est toujours actif.
shell() alloue toujours un TTY et active stdin. La TerminalSession renvoyée diffuse les octets bruts en flux, sans aller-retour de décodage ou d’encodage UTF-8, ce qui permet de l’utiliser sans risque avec les séquences d’échappement de terminal et les sorties binaires.
Envoyer des commandes et lire la sortie
Une fois la session de terminal ouverte, écrivez des commandes sur stdin et récupérez en streaming la sortie brute fusionnée (en octets) du shell distant.
TerminalSession ne met pas la sortie en mémoire tampon. Stdout et stderr sont fusionnés en un seul flux d’octets bruts sur terminal.output. Le résultat ne comporte pas d’attributs stdout ou stderr distincts. Lisez terminal.output en continu. Si vous cessez de le lire, la contre-pression exercée par la file d’attente bornée bloque la session distante.
Redimensionnement du terminal
Envoyez des messages de redimensionnement lorsque les dimensions du terminal changent.
resize() fonctionne en mode fire-and-forget sur TerminalSession.
Quitter une session shell
Pour mettre fin à une session shell, fermez stdin ou envoyez une commande de sortie :
La session shell se termine lorsque le processus distant s’arrête. Appelez terminal.wait() ou terminal.result() pour bloquer l’exécution jusqu’à l’obtention du code de sortie.
Commandes et cas d’utilisation
Voir aussi
Dernière modification le 15 octobre 2026