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.