--- /dev/null
+diff --git a/src/Launcher/Launcher_Job_SALOME.cxx b/src/Launcher/Launcher_Job_SALOME.cxx
+index 47ec6f1..e287538 100644
+--- a/src/Launcher/Launcher_Job_SALOME.cxx
++++ b/src/Launcher/Launcher_Job_SALOME.cxx
+@@ -134,8 +134,8 @@ Launcher::Job_SALOME::buildSalomeScript(Batch::Parametre params)
+ }
+ // Create file for ns-port-log
+ if (is_launcher_file)
+- // for a salome application file, we write NS_PORT_FILE_PATH in launch_tmp_dir
+- launch_script_stream << "NS_PORT_FILE_PATH=$(mktemp " << launch_tmp_dir << "nsport_XXXXXX) &&\n";
++ // for a salome application file, we write NS_PORT_FILE_PATH in working directory
++ launch_script_stream << "NS_PORT_FILE_PATH=$(mktemp " << work_directory << "/nsport_" << _launch_date << "_XXXXXX) &&\n";
+ else
+ launch_script_stream << "NS_PORT_FILE_PATH=$(mktemp " << _resource_definition.AppliPath << "/USERS/nsport_XXXXXX) &&\n";
+
--- /dev/null
+diff --git a/src/Slurm/BatchManager_Slurm.cxx b/src/Slurm/BatchManager_Slurm.cxx
+index 1c7f8d7..a1e28ed 100644
+--- a/src/Slurm/BatchManager_Slurm.cxx
++++ b/src/Slurm/BatchManager_Slurm.cxx
+@@ -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;