ControlClient.attach
Attaches, then leaves unless the live server is still the process that was captured.
Source and package
- Qualified name
-
io.github .libtmux .control .Control Client. attach - Package
- io.github.libtmux.control
- Declared in
ControlClient- Distribution
- io.github.libtmux:libtmux
- Source
- libtmux/src/main/java/io/github/libtmux/control/ControlClient.java
- Other languages
- Perl Erlang PowerShell Julia Elixir Haskell Common Lisp Python Ruby Lua TypeScript RustGoC#C++ Swift Kotlin Scala OCaml F# Clojure
- @Operation(Kind
.LIFECYCLE ) public static ControlClient attach( ServerConfig config, SessionId session, long serverPid , String serverVersion , Duration timeout)@Operation(Kind.LIFECYCLE ) public static ControlClient attach( ControlCarrier carrier, ServerConfig config, SessionId session, long serverPid , java.util server.Optional Long Start , String serverTime Version , Duration timeout) -
Description#
A pid can be reused, so the version tmux reports is part of the check. A mismatch detaches before this client changes the server: layout refresh runs only after the check passes.
- Parameters
-
-
serverPid(long) # – the tmux process a capture recorded forattach(config, session, serverPid, serverVersion, timeout) -
serverVersion(String) # – the version text that process reported, compared as text forattach(config, session, serverPid, serverVersion, timeout) -
carrier(ControlCarrier ) # forattach(carrier, config, session, serverPid, serverStartTime, serverVersion, timeout) -
serverPid(long) # forattach(carrier, config, session, serverPid, serverStartTime, serverVersion, timeout) -
serverStartTime(java.util ) # – when the captured process started, as.Optional Long #{start_time} reported it; compared when present, since a restarted tmux can be given the same pid and version forattach(carrier, config, session, serverPid, serverStartTime, serverVersion, timeout) -
serverVersion(String) # forattach(carrier, config, session, serverPid, serverStartTime, serverVersion, timeout)
tmux command#
The tmux commands behind attach.
tmux C API#
The C declarations in tmux that implement these commands.
In other ports#
Attach a client to a session
| Language | Equivalent |
|---|---|
| Python | libtmux |
| Haskell | No public Haskell equivalent is implemented; the current modules expose scalar values and version parsing. |
| TypeScript | no direct equivalent; the client is out of scope for this port |
| Rust | control |
| Go | tmux |
| C# | Lib |
| C++ | libtmux:: |
| Swift | reached through Server.connected(attachingTo:), which scopes a block rather than attaching a client |
| OCaml | No direct public OCaml equivalent is recorded for this operation. |
| Perl | attach_argv builds caller-owned terminal arguments without performing attachment; the caller owns process and TTY lifetime. |
No equivalent is recorded in Ruby, Lua, PowerShell, Julia, Erlang, Elixir, Common Lisp, Clojure, Kotlin, Scala or F#.