You can run top (or probably seagull) as follows using xterm for the shell
and exporting the display. In this example I'm starting "top" on a Linux
machine (staf1e) from a Winodws machine. This example also stops the
process using its STAF handle. You can do the same thing via a STAX
job.:
C:\>STAF staf1e PROCESS START SHELL "xterm -title %T -e /bin/sh -c %X"
COMMAND "top" TITLE "top" ENV "DISPLAY=:0.0"
Response
--------
2878
C:\>STAF staf1e PROCESS LIST
Response
--------
Handle Command Start Date-Time End Date-Time Return Code
------ ------- ----------------- ------------- -----------
2878 top 20110726-12:30:43 <None> <None>
C:\>STAF staf1e PROCESS STOP HANDLE 2878
Response
--------
C:\>STAF staf1e PROCESS LIST
Response
--------
Handle Command Start Date-Time End Date-Time Return Code
------ ------- ----------------- ----------------- -----------
2878 top 20110726-12:30:43 20110726-12:31:11 9
C:\>STAF staf1e PROCESS FREE HANDLE 2878
Response
--------
C:\>STAF staf1e PROCESS LIST
Response
--------
C:\>
Or, note that you can run top using its -b (batch mode) option in which
case then you don't need to use xterm or export the display to run it. I'm
not familiar with seagull but perhaps it has a similar option. For
example:
C:\>STAF staf1e PROCESS START SHELL COMMAND "top -b"
Response
--------
2901
C:\>STAF staf1e PROCESS STOP HANDLE 2901
Response
--------
C:\>
Here's a sample STAX job that uses a <stafcmd> to submit a PROCESS START
request without the WAIT option to start the top command using xterm and
export the display, and returns the STAF process handle for top in the
result (since it did not wait for top to complete), Then it delays a
while and submits a PROCESS STOP HANDLE request to stop top.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE stax SYSTEM "stax.dtd">
<stax>
<defaultcall function="Main"/>
<function name="Main">
<sequence>
<script>
machine='staf1e' # Replace with your machine host name or IP
address
command = 'top'
title = 'top'
# Note: Must escape a % with another % so that Python does not think
it is a formatting character
request = 'START SHELL "xterm -title %%T -e /bin/sh -c %%X" COMMAND
"%s" TITLE "%s" ENV "DISPLAY=:0.0"' % (command, title)
waitTime = '5s'
</script>
<log message="1">'Starting top...'</log>
<stafcmd name="'Start top'">
<location>machine</location>
<service>'PROCESS'</service>
<request>request</request>
</stafcmd>
<if expr="RC == 0">
<script>processHandle = STAFResult</script>
<else>
<sequence>
<log message="1">
'Error running top. RC: %s, STAFResult: %s' % (RC,
STAFResult)
</log>
<terminate/>
</sequence>
</else>
</if>
<!-- Delay while top runs -->
<stafcmd name="'Delay for %s' % (waitTime)">
<location>'local'</location>
<service>'DELAY'</service>
<request>'DELAY %s' % (waitTime)</request>
</stafcmd>
<log message="1">'top is done after running for %s' % (waitTime)</log>
<stafcmd name="'Stop the process'">
<location>machine</location>
<service>'PROCESS'</service>
<request>'STOP HANDLE %s' % (processHandle)</request>
</stafcmd>
<if expr="RC == 0">
<log message="1">'Stopped process handle %s' % (processHandle)</log>
<else>
<log message="1">
'Error stopping process handle %s' % (processHandle)
</log>
</else>
</if>
<stafcmd name="'Free the process handle'">
<location>machine</location>
<service>'PROCESS'</service>
<request>'FREE HANDLE %s' % (processHandle)</request>
</stafcmd>
</sequence>
</function>
</stax>
Here's another sample STAX job that runs the top command on a remote a
Linux machine using xterm and exporting the display. It uses a timer
element to run the top command for a specified duration and then gets top
sdtout output.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE stax SYSTEM "stax.dtd">
<stax>
<defaultcall function="Main"/>
<function name="Main">
<sequence>
<script>
machine='staf1e' # Replace with your machine host name or IP
address
duration = '10s' # Duration to run top
</script>
<log message="1">'Starting top...'</log>
<timer duration="duration">
<sequence>
<process name="'Run top'">
<location>machine</location>
<command mode="'shell'" shell="'xterm -title %T -e /bin/sh -c
%X'">'top'</command>
<title>'top'</title>
<env>'DISPLAY=:0.0'</env>
<stdout>'/tmp/top.out'</stdout>
<stderr>'/tmp/top.err'</stderr>
<returnstderr/>
</process>
<if expr="RC != 0">
<log message="1">
'Error running top. RC: %s, STAFResult: %s, Stderr: %s' %
(RC, STAFResult, STAXResult)
</log>
</if>
</sequence>
</timer>
<log message="1">'top is done after running for %s' % (duration)</log>
<!-- Get the contents of top's stdout.
If you don't want top's stdout output, don't do this and remove
the
stdout element in the above process element. -->
<stafcmd name="'Get top stdout'">
<location>machine</location>
<service>'FS'</service>
<request>'GET FILE /tmp/top.out'</request>
</stafcmd>
<if expr="RC == 0">
<log message="1">'Output from top:\n%s' % (STAFResult)</log>
<else>
<log message="1">
'Error getting top stdout file. RC: %s, Result: %s' % (RC,
STAFResult)
</log>
</else>
</if>
</sequence>
</function>
</stax>
--------------------------------------------------------------
Sharon Lucas
IBM Austin, luc...@us.ibm.com
(512) 286-7313 or Tieline 363-7313
From: "Bai, William" <william....@tekelec.com>
To: "staf-users@lists.sourceforge.net"
<staf-users@lists.sourceforge.net>
Date: 07/26/2011 11:39 AM
Subject: [staf-users] how to deal with command like top in STAX
Hi:
I use STAX to start up seagull to test diameter protocol. But
seagull will keep flushing the screen and output the result. When I use
STAX to start seagull, it reports keybaord error. And I tried "top"
command to see whether STAX could start "top" frontend, and it also
reports error. Though I do not need the realtime monitoring result of
seagull output on the screen, but I hope to find a way to start up seagull
and stop them.
Though I could put seagull to run in the background, but I could not
stop that by terminate the job on STAX right? Could you kindly tell me how
to deal with the commands like seagull or "top" which needs to reflushing
the screen again and again, if let the process run in frontend, or how to
stop them in STAX, if let them run in background. Thank you in advance.
BRs
William
------------------------------------------------------------------------------
Magic Quadrant for Content-Aware Data Loss Prevention
Research study explores the data loss prevention market. Includes in-depth
analysis on the changes within the DLP market, and the criteria used to
evaluate the strengths and weaknesses of these DLP solutions.
http://www.accelacomm.com/jaw/sfnl/114/51385063/
_______________________________________________
staf-users mailing list
staf-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/staf-users
------------------------------------------------------------------------------
Magic Quadrant for Content-Aware Data Loss Prevention
Research study explores the data loss prevention market. Includes in-depth
analysis on the changes within the DLP market, and the criteria used to
evaluate the strengths and weaknesses of these DLP solutions.
http://www.accelacomm.com/jaw/sfnl/114/51385063/
_______________________________________________
staf-users mailing list
staf-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/staf-users