background オプションを commands.run() に渡すことで、コマンドをバックグラウンドで実行できます。これはすぐに返り、コマンドは sandbox 内で実行され続けます。
後で commands.kill() を使って終了できます。
import { Sandbox } from 'novita-sandbox/code-interpreter'
const sandbox = await Sandbox.create()
// Start the command in the background
const command = await sandbox.commands.run('echo hello; sleep 10; echo world', {
background: true,
onStdout: (data) => {
console.log(data)
},
})
// Kill the command
await command.kill()
await sandbox.kill()
from novita_sandbox.code_interpreter import Sandbox
sandbox = Sandbox.create()
# Start the command in the background
command = sandbox.commands.run('echo hello; sleep 10; echo world', background=True)
# Get stdout and stderr from the command running in the background.
# You can run this code in a separate thread or use command.wait() to wait for the command to finish.
for stdout, stderr, _ in command:
if stdout:
print(stdout)
if stderr:
print(stderr)
# Kill the command
command.kill()
sandbox.kill()