Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(244)

Unified Diff: third_party/pexpect/doc/examples.rst

Issue 1398903002: Add third_party/pexpect (Closed) Base URL: https://chromium.googlesource.com/crashpad/crashpad@end-to-end-test
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/pexpect/doc/conf.py ('k') | third_party/pexpect/doc/history.rst » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/pexpect/doc/examples.rst
diff --git a/third_party/pexpect/doc/examples.rst b/third_party/pexpect/doc/examples.rst
new file mode 100644
index 0000000000000000000000000000000000000000..6338b5c01cdc05596e09943f2f4fd5e817504e89
--- /dev/null
+++ b/third_party/pexpect/doc/examples.rst
@@ -0,0 +1,63 @@
+Examples
+========
+
+Under the distribution tarball directory you should find an "examples" directory.
+This is the best way to learn to use Pexpect. See the descriptions of Pexpect
+Examples.
+
+`topip.py <https://github.com/pexpect/pexpect/blob/master/examples/topip.py>`_
+ This runs `netstat` on a local or remote server. It calculates some simple
+ statistical information on the number of external inet connections. This can
+ be used to detect if one IP address is taking up an excessive number of
+ connections. It can also send an email alert if a given IP address exceeds a
+ threshold between runs of the script. This script can be used as a drop-in
+ Munin plugin or it can be used stand-alone from cron. I used this on a busy
+ web server that would sometimes get hit with denial of service attacks. This
+ made it easy to see if a script was opening many multiple connections. A
+ typical browser would open fewer than 10 connections at once. A script might
+ open over 100 simultaneous connections.
+
+`hive.py <https://github.com/pexpect/pexpect/blob/master/examples/hive.py>`_
+ This script creates SSH connections to a list of hosts that you provide.
+ Then you are given a command line prompt. Each shell command that you
+ enter is sent to all the hosts. The response from each host is collected
+ and printed. For example, you could connect to a dozen different
+ machines and reboot them all at once.
+
+`script.py <https://github.com/pexpect/pexpect/blob/master/examples/script.py>`_
+ This implements a command similar to the classic BSD "script" command.
+ This will start a subshell and log all input and output to a file.
+ This demonstrates the :meth:`~pexpect.spawn.interact` method of Pexpect.
+
+`ftp.py <https://github.com/pexpect/pexpect/blob/master/examples/ftp.py>`_
+ This demonstrates an FTP "bookmark". This connects to an ftp site;
+ does a few ftp tasks; and then gives the user interactive control over
+ the session. In this case the "bookmark" is to a directory on the
+ OpenBSD ftp server. It puts you in the i386 packages directory. You
+ can easily modify this for other sites. This demonstrates the
+ :meth:`~pexpect.spawn.interact` method of Pexpect.
+
+`monitor.py <https://github.com/pexpect/pexpect/blob/master/examples/monitor.py>`_
+ This runs a sequence of commands on a remote host using SSH. It runs a
+ simple system checks such as uptime and free to monitor the state of
+ the remote host.
+
+`passmass.py <https://github.com/pexpect/pexpect/blob/master/examples/passmass.py>`_
+ This will login to each given server and change the password of the
+ given user. This demonstrates scripting logins and passwords.
+
+`python.py <https://github.com/pexpect/pexpect/blob/master/examples/python.py>`_
+ This starts the python interpreter and prints the greeting message
+ backwards. It then gives the user iteractive control of Python. It's
+ pretty useless!
+
+`ssh_tunnel.py <https://github.com/pexpect/pexpect/blob/master/examples/ssh_tunnel.py>`_
+ This starts an SSH tunnel to a remote machine. It monitors the
+ connection and restarts the tunnel if it goes down.
+
+`uptime.py <https://github.com/pexpect/pexpect/blob/master/examples/uptime.py>`_
+ This will run the uptime command and parse the output into variables.
+ This demonstrates using a single regular expression to match the
+ output of a command and capturing different variable in match groups.
+ The grouping regular expression handles a wide variety of different
+ uptime formats.
« no previous file with comments | « third_party/pexpect/doc/conf.py ('k') | third_party/pexpect/doc/history.rst » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698