fi
killall speakdaemon.pl
-cd /home/hadaq/trbsoft/daq/tools/hmon/
+cd /home/hadaq/trbsoft/hadesdaq/hmon/
ln -fs `pwd`/QA.pm /srv/www/htdocs/mon/
ln -fs `pwd`/styles.css files/
ln -fs `pwd`/indexstyles.css files/
-#rm ~/trbsoft/daq/tools/hmon/files/*.htt
+#rm ~/trbsoft/hadesdaq/hmon/files/*.htt
echo " <Hmon> Starting scripts..."
ls permanent/hmon_*.pl | perl -ne '
my $cmd = "pgrep -f \"permanent/$t[1]\"";
my @qx = qx($cmd);
exit if (scalar @qx > 0);
- system("$c 2>>/home/hadaq/trbsoft/daq/tools/hmon/logs/perlerror_$t[1]");
+ system("$c 2>>/home/hadaq/trbsoft/hadesdaq/hmon/logs/perlerror_$t[1]");
exit;
}
END: {if($r!=0 and eof()) {foreach (@l) {wait}}} ' &
if($r == 0) {
chomp $c;
my @t = split("/",$c);
- system("$c 2>>/home/hadaq/trbsoft/daq/tools/hmon/logs/perlerror_$t[1]");
+ system("$c 2>>/home/hadaq/trbsoft/hadesdaq/hmon/logs/perlerror_$t[1]");
exit;
}
END: {if($r!=0 and eof()) {foreach (@l) {wait}}} ' &
-rm ~/trbsoft/daq/tools/hmon/files/note.htt
+rm ~/trbsoft/hadesdaq/hmon/files/note.htt
-./speakdaemon.pl 2>>/home/hadaq/trbsoft/daq/tools/hmon/logs/perlerror_speakdaemon &
+./speakdaemon.pl 2>>/home/hadaq/trbsoft/hadesdaq/hmon/logs/perlerror_speakdaemon &
sleep 1;
pkill -f "\./hmon_.+\.pl" 2>/dev/null 1>/dev/null
killall hmon*.sh 2>/dev/null 1>/dev/null
killall hmon_tail 2>/dev/null 1>/dev/null
+killall hmon_ssh 2>/dev/null 1>/dev/null
# echo " <Hmon> Cleaning up..."
# rm ~/trbsoft/daq/tools/hmon/files/*.htt
-echo "<div style='position:absolute;top:5px;left:15px;color:red;font-weight:bold;z-index:100'>Scripts Stopped</div>" > ~/trbsoft/daq/tools/hmon/files/note.htt
+echo "<div style='position:absolute;top:5px;left:15px;color:red;font-weight:bold;z-index:100'>Scripts Stopped</div>" > ~/trbsoft/hadesdaq/hmon/files/note.htt
#echo " <Hmon> Done."
--- /dev/null
+#!/usr/bin/perl -w
+
+use English;
+use strict;
+use Getopt::Long;
+use Data::Dumper;
+use IO::Socket;
+
+#- the command line option flags
+my $opt_help = 0;
+my $opt_etrax;
+my $opt_port = 4712;
+my $opt_command;
+my $opt_inter = 0;
+
+GetOptions ('h|help' => \$opt_help,
+ 'e|etrax=s' => \$opt_etrax,
+ 'p|port=i' => \$opt_port,
+ 'c|command=s' => \$opt_command,
+ 'i|inter' => \$opt_inter);
+
+
+if( $opt_help ) {
+ &help();
+ exit(0);
+}
+
+if( &checkArgs() ){
+ print "Exit.\n";
+ exit(1);
+}
+
+my $cmd_server_prtcl = 'tcp';
+my $cmd_server_answer = "";
+
+&connectCmdServer();
+
+exit(0);
+
+################### END OF MAIN ####################
+
+sub help()
+{
+ print "\n";
+ print << 'EOF';
+command_client.pl
+
+ This script executes the command via Command_Server running
+ on etrax boards.
+
+Usage:
+
+ Command line: command_client.pl
+ [-h|--help] : Show this help.
+ [-e|--etrax <name>] : Etrax board name.
+ [-c|--command <'cmd'>] : Command to execute.
+ [-p|--port <port>] : Port to connect to a server (default: 4712).
+ [-i|--inter] : Interactive execution of the commands.
+ In the interactive mode type 'exit' or 'quit'
+ to leave the command_client.
+
+Examples:
+
+ Execute command 'sleep 10' on etraxp086:
+ command_client.pl -c 'sleep 10' -e etraxp086
+
+ Execute commands on etraxp086 interactively:
+ command_client.pl -i -e etraxp086
+
+EOF
+}
+
+sub checkArgs()
+{
+ my $retVal = 0;
+
+ unless( $opt_inter || defined $opt_command ){
+ print "You should use either '-c' or '-i' options\n";
+ $retVal = 1;
+ }
+
+ if( $opt_inter && defined $opt_command ){
+ print "You should use either '-c' or '-i' options\n";
+ $retVal = 1;
+ }
+
+ unless( defined $opt_etrax ){
+ print "You must use '-e' option\n";
+ $retVal = 1;
+ }
+
+ return $retVal;
+}
+
+sub getAnswerFromServer()
+{
+ my ($socket) = @_;
+
+ while( <$socket> ){
+ print $_;
+
+ if( $_ =~ /- END OF OUTPUT -/ ){
+ last;
+ }
+ }
+}
+
+sub connectCmdServer()
+{
+ my $answer;
+
+ my $socket = IO::Socket::INET->new(PeerAddr => $opt_etrax,
+ PeerPort => $opt_port,
+ Proto => $cmd_server_prtcl,
+ Type => SOCK_STREAM)
+ or $answer = "ERROR: No response from Cmd Server at $opt_etrax:$opt_port\n";
+
+ unless( defined $answer ){
+ $socket->autoflush(1);
+ print $socket "iamfromhadesdaq\n";
+ $answer = <$socket>;
+
+ print $answer;
+
+ if($opt_inter){
+ #- Interactive commands from keyboard
+ while(1){
+ print "Enter command: ";
+ my $cmd = <STDIN>;
+ if( $cmd =~ /^exit$/ || $cmd =~ /^quit$/ ){
+ last;
+ }
+ print $socket "$cmd";
+ &getAnswerFromServer($socket);
+ }
+ }
+ elsif( defined $opt_command ){
+ #- Command from the argument
+ print $socket "$opt_command\n";
+ &getAnswerFromServer($socket);
+ }
+
+ close($socket);
+ }
+
+ unless( $answer =~ /Connection accepted/ ){
+ print $answer;
+ }
+}