Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[dsdp-tm-dev] "Run a command" functionality

Hello,

in a few cases in our product, we're interested in just running a command remotely,
getting its exit status and output. At the same time, it's explicitly not desirable
to show the user any console window with the command output.

RSE provides shell service, which can be used to run a command, however this is
good for interactive use, and has some problems when used to run a single
command:

- The commands see they have a terminal, and starts to behave interactively, like
asking the user some questions, which is bad in our case.
- There's no clear way to obtain command error status. Per Anna's suggestion,
we used

	; echo "Exit status is $?"

but assumes such output is not shown by the program, and the last line of program
output ends with newline, that we have a Linux target, and so on.
- In addition to program output, there is output produced when logging in into the
remote system, so we have to use some kludges to filter that out.

It seems to me that it would be best if this complexity (which seems specific to
different connections methods) be incapsualted inside RSE. So, there should be
an API to run a command, which can be implemented:

- Using SSH 'exec' channel for SSH connections
- Using the above "echo" trick for telnet connections
- Using whatever magic is necessary for DStore, or Windows, or other, connection types.

Does this seem to make sense? Shall I file a bug?

Thanks,

-- 
Vladimir Prus
CodeSourcery / Mentor Graphics
+7 (812) 677-68-40


Back to the top