#shell #tmux #terminal #tty #persistence #networking #command-line-tool


libshpool contains the implementation of the shpool tool, which provides a mechanism for establishing lightweight persistant shell sessions to gracefully handle network disconnects

5 releases

new 0.6.3 Jul 9, 2024
0.6.2 Jun 11, 2024
0.6.1 May 15, 2024
0.6.0 Apr 5, 2024
0.5.0 Feb 28, 2024

#25 in #tmux

Download history 6/week @ 2024-03-13 6/week @ 2024-03-27 127/week @ 2024-04-03 7/week @ 2024-04-10 132/week @ 2024-05-15 17/week @ 2024-05-22 101/week @ 2024-06-05 189/week @ 2024-06-12 60/week @ 2024-06-19 24/week @ 2024-06-26

374 downloads per month
Used in shpool




libshpool contains the meat of the implementation for the shpool command line tool. You almost certainly don't want to be using it directly, but with it you can create a wrapper binary. It mostly exists because we want to add monitoring to an internal google version of the tool, but don't believe that telemetry belongs in an open-source tool. Other potential use-cases such as incorporating a shpool daemon into an IDE that hosts remote terminals could be imagined though.


In order to call libshpool, you must keep a few things in mind. In spirit, you just need to call libshpool::run(libshpoo::Args::parse()), but you need to take care of a few things manually.

  1. Handle the version subcommand. Since libshpool is a library, the output will not be very good if the library handles the versioning.
  2. Depend on the motd crate and call motd::handle_reexec() in your main function.


~314K SLoC