bproc_move¶
Name¶
bproc_move – Move the running process to another node
Synopsis¶
#include <sys/bproc.h>
int _bproc_move_io (int node, int flags, int port);
int _bproc_move (int node, int flags);
int bproc_move (int node);
Arguments¶
nodeThe node to move to
flagsFlags for VMAdump.
portThe IP port
BProcshould connect back to for I/O forwarding.
Description¶
This call will move the current process to the remote node number given
by node. It returns 0 on success, -1 on failure. errno is set on
failure.
node is the node to move to.
flags can be one of the following: BPROC_DUMP_LIBS,
BPROC_DUMP_EXEC, BPROC_DUMP_OTHER or any combination of them
binary OR’d together. A binary OR of all three, BPROC_DUMP_ALL, is
also provided as a shortcut. These flags tell VMAdump how much of
the running process to dump and send to the compute node.
port is the port BProc should connect back to, to handle I/O
forwarding. A port value of 0 means it assumes I/O forwarding is
being done on the existing socket for stdout and stderr only.
Any other value and it will try to connect back to that port and open
three connections, one for stdout, one for stderr, and one for
stdin.
If you use _bproc_move or bproc_move, port has a default
value of 0. If you use bproc_move, flags takes a default
value that is BPROC_DUMP_EXEC|BPROC_DUMP_OTHER if you’re
trying to move to an up node or the master, otherwise it is
BPROC_DUMP_EXEC|BPROC_DUMP_LIBS|BPROC_DUMP_OTHER
Errors¶
- EBUSY
 No master?
- ENOMEM
 Out of memory.
- EIO
 An I/O error occurred.