# LibTmux.run_group

- **Module:** LibTmux
- **Package:** LibTmux
- **Language:** Julia
- **Kind:** function
- **Source:** https://github.com/libtmux/libtmux-julia/blob/f3da513be1225d36d5854cd8db5972c01857578e/src/batches.jl#L245
- **Page:** https://libtmux.org/en/julia/latest/reference/libtmux-run_group/

```
run_group(
    connection::LibTmux.ControlConnection,
    commands::AbstractVector{LibTmux.TmuxCommand};
    timeout,
    cancel
)

run_group(
    server::LibTmux.Server,
    commands::AbstractVector{LibTmux.TmuxCommand};
    timeout,
    cancel
)
```

## Methods

### `run_group` (overload 1)

```julia
run_group(
    connection::LibTmux.ControlConnection,
    commands::AbstractVector{LibTmux.TmuxCommand};
    timeout,
    cancel
)
```

[Source](https://github.com/libtmux/libtmux-julia/blob/f3da513be1225d36d5854cd8db5972c01857578e/src/batches.jl#L253).

Send one explicit semicolon group of audited synchronous control commands. The first command error skips its suffix; a separate same-queue fence proves retirement. Preserve per-command responses and truthful skipped/unknown states. Cancellation or connection loss returns available evidence without replay.

```julia
run_group(connection::ControlConnection, commands; timeout=5.0, cancel=nothing)
```

### `run_group` (overload 2)

```julia
run_group(
    server::LibTmux.Server,
    commands::AbstractVector{LibTmux.TmuxCommand};
    timeout,
    cancel
)
```

[Source](https://github.com/libtmux/libtmux-julia/blob/f3da513be1225d36d5854cd8db5972c01857578e/src/batches.jl#L333).

Run a native subprocess semicolon group. Preserve its aggregate response; individual operation statuses remain `:unknown` because arbitrary stdout and an exit status do not prove per-command attribution. Arguments are literal; only separators inserted between commands establish the explicit group.

```julia
run_group(server::Server, commands; timeout=5.0, cancel=nothing)
```

## Parameters

- `connection` (`LibTmux.ControlConnection`) (for `run_group(connection, commands, timeout, cancel)`)
- `commands` (`Base.AbstractVector{LibTmux.TmuxCommand}`)
- `timeout` (`Real`)
  Default: `5.0`.
- `cancel`
  Default: `nothing`.
- `server` (`LibTmux.Server`) (for `run_group(server, commands, timeout, cancel)`)
