smiSendCommand

This command allows a user to dispatch commands to any SMI object within the DNS-world (see below)

Usage


smiSendCommand <objectName> <commandString> [<options>] [<proxy>]


where

<objectName>
is the full object name (domain::object) of the SMI object receiving the command

<commandString>
is, in the simplest case, the name of the action to be sent to the object.

<proxy>
can be any printable character (except minus sign) and indicates that the command should be sent directly to the proxy (bypassing any state manager)

the following options are available:


Option value1 value2 Comment Example
-dns <dnsNode>[:<dnsPort>]   allows to change the DNS Node and Port number -dns lxplus001.cern.ch:007
-pi <parameterName> <integerValue> will append integer parameter to the command string -pi RUNNUMBER 269
-pf <parameterName> <floatingPointValue> will append floating point parameter to the command string -pf TEMP 35.67
-ps <parameterName> <stringConstant> will append string parameter to the command string -ps FILE '/bin/program.exe'
-dbg     the command string,instead of being sent to the object, is simply printed to standart output. Usefull for debugging.  

Notes on <stringConstant>

  • the string can contain any ASCII character with exeption 'null'
  • because a large number of special characters (such as > or ?) have a special semantic meaning to the shell, the string should be enclosed in a pair of single quotes, unless it contains only alphanumeric characters, in which case the quotes can be ommited.
  • the following characters require a special treatment even when inside the quotes:
    • ! has to be preceeded by backslash; eg '123\!abc'
    • " has to be preceeded by backslash; eg '123\"abc'
    • ' has to be represented by \x27 ; eq '123\x27abc'
    • \ has to be represented by \\ ; eg '123\\abc'
  • all non-printable characters ( 0 to 1F (hex) and 7F ) have to be 'escaped' using backspace character followed by the character's ASCII octal or hexadecimal code. For example DLE is represented either by \020 or \x10

Example

Let's assume that there is a fictitious State Manager executing in domain EXPERIMENT. Let's further assume that there is an object CONTROL inside the domain. And finally let's assume that in its current state the object accepts an action START_NEW_RUN with two parameters: RUN_NUMBER (integer) and RUN_TYPE (string constant).

In order to make this object execute the action, the following command is executed:

smiSendCommand EXPERIMENT::CONTROL START_NEW_RUN -pi RUN_NUMBER 1234 -ps RUN_TYPE 'COSMICS'

NB. As the option -dns is not present on the command line, the command will assume that the DIM Name server is running on the host that is given by the value of DIM_DNS_NODE environmental variable.

-- BohumilFranek - 29 Nov 2007

Edit | Attach | Watch | Print version | History: r6 < r5 < r4 < r3 < r2 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r6 - 2007-12-04 - unknown
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Sandbox All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback