MPICHSH.exe
Usage:
MPICHSH.exe is a simple process launcher. It starts up and listens on a port for socket connections. If you don't provide a port number the default is 2020. You must start this program manually on all the machines. It is not a service; it does not start automatically, it does not require any privileges and it does not impersonate the client user. It simply waits for connections and launches the command line that comes over the socket.
The data that comes over a connection is in the following format:
int length | [-dir"somepath\sub\dir"][-env"var1=val1|var2=val2..."]command line arg1 ... |
The length field specifies the number of bytes to follow. The bracketted sections are optional (actual brackets are not transmitted over the socket). The -dir"..." section defines in what directory to launch the executable. The -env"..." section defines environment variables which are set before launching the process. An example might be:
122 | -dir"c:\temp"-env"MPICH_JOBID=fry.1|MPICH_NPROC=2|MPICH_IPROC=1|MPICH_ROOTHOST=fry|MPICH_ROOTPORT=1234"netpipe.exe -reps 3 |
Standard out and error from the launched process are redirected back through the socket. The socket is closed when the process terminates. If a connection is dropped before the process finishes, the process is killed.
Each connection appears in the dialog list box. The time and command line are printed out when a process is launched and when it terminates. The number in brackets matches the start and finish lines and shows how many processes have been launched. The clear button clears the list window. The OK button closes the listening socket and exits the program.