|
About Legion tty objects Simple tty management Complex tty management Managing individual object output |
icon.Depending on how your system is set up, you may need to set up your access to your system before you can run Legion commands. This will probably involve running a command such as this:
$ . ~LEGION/setup.sh
or
$ source ~LEGION/setup.csh
There are three steps involved in using Legion tty objects:
Note that a shell does not have to watch its set tty object, and that multiple shells can watch the same tty object.
When you exit from a shell the tty_watch process will not automatically shut down. That is, it will continue to send information to the now defunct shell. This will bog down the tty process and may result in error messages. We therefore suggest that before you exit a shell you stop the tty_watch process.
There are two different ways to create and use tty objects in Legion, a simple approach, which will probably be acceptable for most users, and a complex approach.
$ legion_tty mytty
If /context_path/mytty does not already exist, a new tty object will be created and assigned the context path name /context_path/mytty. The output from all processes run in your current shell, whether on your local system or a foreign system, will now be directed to mytty, and a tty_watch process will start. This process will watch its assigned tty object and pass a copy of the tty object's information to the shell's standard output (i.e., to the shell's command line). Note that a shell can run only one tty_watch process at a time.
To stop a tty_watch process started with legion_tty run the legion_tty_off command. This will end whatever tty_watch process is currently running in the current shell, although it will not destroy the tty object being watched.
First, if you do not already have a tty object you must use legion_create_object to create a tty object. Then use legion_set_tty to set a tty object for your shell. Remember that you can only have one tty object set per shell. If a tty object has already been set, legion_set_tty will just switch to the new one. Finally, use legion_tty_watch to start watching your current (set) tty object. The whole procedure looks something like this:
$ legion_create_object -c /class/ttyObjectClass /context_path/mytty $ legion_set_tty /context_path/mytty $ legion_tty_watch &
To direct the current tty object's output to a file object instead of standard output, use the legion_tty_redirect command. The example below redirects the current tty's object output to file object Foo. If no file object of that name exists, Legion will create a new one.
$ legion_tty_redirect Foo
$ legion_tty_unredirect Foo
$ legion_direct_output -c Foo -c /context_path/mytty