Process Terminal
Requires: | org.jancy.io.child-process |
Optional: | org.jancy.io.file-stream |
The Process plugin allows you to start a shell (or any other process) and then directly communicte to its STDIN
, STDOUT
, and STDERR
streams.
This functionality comes indispensible when the process in question outputs (or expects as input) some binary data. For instance, if you open your regular terminal console and run netcat
or openssl
to connect to a web-server, and then issue a GET
request to fetch some binary resource, e.g. :
$ openssl s_client -connect ioninja.com:443 GET /images/icons/ioninja-256x256.png HTTP/1.1 Host: ioninja.com
... the output will be incomprehensible due to its binary nature:
HTTP/1.1 200 OK Server: nginx/1.10.3 (Ubuntu) Date: Mon, 09 Mar 2020 03:54:53 GMT Content-Type: image/png Content-Length: 13784 Connection: keep-alive X-Powered-By: Express Accept-Ranges: bytes Cache-Control: public, max-age=0 Last-Modified: Sun, 03 Jun 2018 06:59:07 GMT ETag: W/"35d8-163c471432a" PNG IHD\rfIDATxxTUǿ$tB"õVDp-t툠?ޫ@@ғI2ɔ{$$Ir;3<$3Jrsޗ@i%(m(Ji(5:A@.h(MJAH_ܑz`(@Euu@PD %@ρt!졔mjwaIڒCs4hFG2O';TIxn2tK!A-u-Dǃ&%<`%-=$6@qu}65O<G]7r٧<pfpA&?PA\j>%C,dx9X^ȱ BHυTg2B_OHn.;suH%nĠ_LKs;(>$xb~qcll\!c)8yDO*.ߕ!-T^b6D:;+2ASF8J1̙Sb!ĠK0c0fHv)x"=?s <<< more garbled output >>>
IO Ninja, on the other hand, is tailor-made to handle binary data elegantly and efficiently, so you will have no problem inspecting and analyzing binary output of a process (or feeding a binary request to its STDIN
stream).
Another prominent feature of the Process plugin is that unlike a regular terminal console, it can separate between STDOUT
and STDERR
streams.