MATLAB Answers

Copying files from Matlab without a system call

9 views (last 30 days)
Daniel
Daniel on 11 Jul 2011
Hi everybody,
I'm having a problem running a compiled matlab script. The script includes some "copyfile" commands, which normally shouldn't be a problem. The trouble is, that the compiled script is distributed among slave nodes in a cluster.
As it turns out, system calls inside a script can be a hell of a problem, as it seems to be the case with the parallel cluster I am using. ( I got the lethal error Warning: MATLAB was unable to open a pseudo-tty: No such file or directory [2,1] ) which basically means of my syscalls will crash the code.
Can anybody think of some way of coping/moving files that does not require an implicit syscall? thanks, Daniel
  2 Comments
Daniel
Daniel on 11 Jul 2011
Hi Fangjun,
thanks for te comment. Initially I used unix('cp .. '); didn't work... Then I did try with the built-in function copyfile, didn't work either. I suspect copyfile is just a wrapper and internally uses syscalls.

Sign in to comment.

Answers (2)

Walter Roberson
Walter Roberson on 11 Jul 2011
I suggest that you investigate what your MATLAB_SHELL and SHELL environment variables are, in case they are set to something unexpected (see the documentation for the unix() command for more information.)
My suspicion is that on the slaves, something in /etc/profile or in your ~/.profile or ~/.bashrc or the like is unconditionally attempting to do an operation on a tty, such as by trying to do
stty erase "^H"
If you have a command like that in your shell startup script, you need to make it conditional upon a ptty existing, such as by testing with
if -t 0
stty erase "^H"
fi
(Note those are at the shell level, not the MATLAB level.)
  3 Comments
Daniel
Daniel on 18 Jul 2011
that makes sense! Checking it with my system administrator,who is at a loss in this case... thanks!

Sign in to comment.


Jason Ross
Jason Ross on 11 Jul 2011
Can you use cluster commands (outside of MATLAB) to copy the files as part of your submission?
  5 Comments
Daniel
Daniel on 18 Jul 2011
thanks Jason, that's a new perspective. Actually I'm not using any of the functionalities of Parallel toolbox of Matlab (I just distribute compiled executables in the cluster). I'll check it.

Sign in to comment.

Tags

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!