Once either standard output is iterated on to completion, or client.join() is called, exit codes become available in host output. The client's join function can be used to wait for all commands in output to finish.Īfter join returns, commands have finished and all output can be read without blocking. See alternatives for a more complete comparison of alternative SSH libraries, as well as performance comparisons mentioned previously.
Parallels client code#
Parallel-ssh provides easy to use SSH clients that hide the complexity, while offering stability and native code levels of performance and as well as the ability to scale to hundreds or more concurrent hosts. These low level libraries are far better placed to provide the maturity, stability and performance needed from an SSH client for production use.
Parallels client software#
The SSH libraries parallel-ssh uses are, on the other hand, long standing mature C libraries in libssh2 and libssh that have been in production use for decades and are part of some of the most widely distributed software available today - Git itself, OpenSSH, Curl and many others.
See this post for a performance comparison of different Python SSH libraries.Īlternative clients based on ssh-python ( libssh) are also available under. The default client in parallel-ssh is a native client based on ssh2-python - libssh2 C library - which offers much greater performance and reduced overhead compared to other Python SSH libraries. Github discussions can be used to discuss, ask questions and share ideas regarding the use of parallel-ssh.