Core LibraryalphaTopics

Choose documentation 3

latest

Current version

latest
English

Prerelease This site documents an alpha of libtmux. Its structure, URLs and APIs are subject to change.

Edit this page on GitHub

Socket and servers

A tmux server is selected by its Unix-domain socket. Use different sockets for independent servers, such as a development session and an isolated test server. Choose the default socket, a named socket (-L), or an explicit path (-S).

Naming a server

new Server() selects the default socket. Set socketName to select a named socket, or socketPath to use an explicit path.

const named = new Server({ socketName: "work" });

Choose either a socket name or a socket path. tmux uses TMUX_TMPDIR to resolve the directory for default and named sockets.

Supplying both selectors raises TypeError.

Is the server actually there?

A server handle does not prove that the target server is running. Use a liveness check when your program needs to distinguish a live server from an unavailable socket:

Server.isAlive returns a promise of a boolean. Server.raiseIfDead throws when the server is unavailable and retains the reason reported by tmux.

if (await server.isAlive()) {
await server.snapshot();
}

isAlive() returns a boolean. Use raiseIfDead() when you need failure details.

Killing a server, and telling two apart

Killing a server ends all its sessions. Use this only for a server your program owns; for narrower cleanup, kill the session or pane you created.

Call await server.kill(). TmuxServerRestartedError reports an operation whose handle encountered a replacement daemon on the same socket.

A restarted server can reuse a socket path while having different state. Do not treat a matching path as proof that a cached object still exists.

Esc

Type to search.

Reference preview Open reference