Salome HOME
bos #20157 Patch for SLURM V2_4_4rc1
authorvsr <vsr@opencascade.com>
Tue, 6 Oct 2020 17:09:04 +0000 (20:09 +0300)
committervsr <vsr@opencascade.com>
Tue, 6 Oct 2020 17:09:04 +0000 (20:09 +0300)
src/Slurm/BatchManager_Slurm.cxx

index 1c7f8d7bdb5537957a1fba259510bc8131de9952..a1e28edc3b53f2fc7f0fa3b6f98c49f05c503100 100644 (file)
@@ -64,7 +64,7 @@ namespace Batch {
     string cmdFile = buildCommandFile(job);
 
     // define command to submit batch
-    string subCommand = string("cd ") + workDir + "; sbatch " + cmdFile;
+    string subCommand = string("bash -l -c \\\"cd ") + workDir + "; sbatch " + cmdFile + "\\\"";
     string command = _protocol.getExecCommand(subCommand, _hostname, _username);
     command += " 2>&1";
     LOG(command);
@@ -203,7 +203,7 @@ namespace Batch {
   void BatchManager_Slurm::deleteJob(const JobId & jobid)
   {
     // define command to delete job
-    string subCommand = "scancel " + jobid.getReference();
+    string subCommand = string("bash -l -c \\\"scancel ") + jobid.getReference() + "\\\"";
     string command = _protocol.getExecCommand(subCommand, _hostname, _username);
     LOG(command);
 
@@ -217,7 +217,7 @@ namespace Batch {
   JobInfo BatchManager_Slurm::queryJob(const JobId & jobid)
   {
     // First try to query the job with "squeue" command
-    string subCommand = "squeue -h -o %T -j " + jobid.getReference() + " 2>/dev/null";
+    string subCommand = string("bash -l -c \\\"squeue -h -o %T -j ") + jobid.getReference() + " 2>/dev/null" + "\\\"";
     string command = _protocol.getExecCommand(subCommand, _hostname, _username);
     LOG(command);
     string output;
@@ -237,7 +237,7 @@ namespace Batch {
     // If "squeue" failed, the job may be finished. In this case, try to query the job with
     // "sacct".
     if (! found) {
-        string subCommand = "sacct -X -o State%-10 -n -j " + jobid.getReference();
+        string subCommand = string("bash -l -c \\\"sacct -X -o State%-10 -n -j ") + jobid.getReference() + "\\\"";
         string command = _protocol.getExecCommand(subCommand, _hostname, _username);
         LOG(command);
         string output;