From 74023ded8c4256eac25cee3587ef9f2eaf9f8abc Mon Sep 17 00:00:00 2001 From: battilo Date: Sat, 11 Nov 2017 19:30:34 +0100 Subject: [PATCH] richiamo matlab eseguibile linux --- LoadCSVData.pl | 30 +++++++++++++++++++++--------- prova.pl | 8 ++++++++ 2 files changed, 29 insertions(+), 9 deletions(-) create mode 100755 prova.pl diff --git a/LoadCSVData.pl b/LoadCSVData.pl index a637eb2..9374ee7 100644 --- a/LoadCSVData.pl +++ b/LoadCSVData.pl @@ -6,6 +6,7 @@ use Getopt::Long; use Net::FTP; use List::Util qw( max ); use Data::Dumper qw(Dumper); +use Cwd; $|++; # Autoflush @@ -36,6 +37,8 @@ my $ftp_parm; my $ftp_filename; my $ftp_target; my $unit_id; +my $matlab_rt = "/usr/local/MATLAB/MATLAB_Runtime/v93"; +my $matlab_func_dir = "/usr/local/matlab_func/"; sub getTimeStamp { # parm [ts] => timestamp for filename; log => timestamp for log @@ -104,12 +107,23 @@ sub matlabCalc { getMatlabCmd(); $matlab_timestamp = getTimeStamp("db_ts"); print getTimeStamp("log") . " - pid $$ >> $tool MatLab calc started...\n"; - my @out_matlab = `ssh1 $matlab_ip 'cmd /c $matlab_cmd ' $tool`; - print getTimeStamp("log") - . " - pid $$ >> $tool MatLab calc executed: $out_matlab[-1]"; - - #print getTimeStamp("log") . " - @out_matlab"; - #print getTimeStamp("log") . " - pid $$ >> $out_matlab[-1]"; + if ($matlab_cmd =~ /_lnx$/) { + $matlab_cmd = './run_' . $matlab_cmd . '.sh'; + #print $ENV{"HOME"} . "\n"; + $ENV{"HOME"} = "/" . $ENV{"HOME"}; + chdir($matlab_func_dir) + or die "cannot change: $!\n"; + my @args = ( $matlab_cmd, $matlab_rt, $tool); + system(@args) == 0 + or die( getTimeStamp("log") . " - pid $$ >> system @args failed: $?\n" ); + } else { + $matlab_cmd = 'matlab_' . $matlab_cmd . '.cmd'; + my @out_matlab = `ssh1 $matlab_ip 'cmd /c $matlab_cmd ' $tool`; + print getTimeStamp("log") + . " - pid $$ >> $tool MatLab calc executed: $out_matlab[-1]\n"; + #print getTimeStamp("log") . " - @out_matlab"; + #print getTimeStamp("log") . " - pid $$ >> $out_matlab[-1]"; + } return; } @@ -309,13 +323,11 @@ sub getMatlabCmd { . " - pid $$ >> No tool's matlab function selected.\n"; } else { - my $mfunc; while ( my $results = $sth->fetchrow_hashref ) { - $mfunc = uc $results->{'matcall'}; + $matlab_cmd = $results->{'matcall'}; $ftp_send = $results->{'ftp_send'}; $unit_id = $results->{'unit_id'}; } - $matlab_cmd = 'matlab_' . $mfunc . '.cmd'; } $sth->finish; diff --git a/prova.pl b/prova.pl new file mode 100755 index 0000000..8208d83 --- /dev/null +++ b/prova.pl @@ -0,0 +1,8 @@ +#!/usr/bin/perl +use warnings; +use strict; + +use Data::Dumper qw(Dumper); + +chdir('/home/alex/Documenti'); +system('dir'); \ No newline at end of file