1RPLOADGO(2) LAM REMOTE LIBRARY RPLOADGO(2)
2
3
4
6 rploadgo - Load and execute a LAM program on a remote node.
7
9 #include <kio.h>
10
11 int rploadgo (int srcnode, int destnode, char *filename, int flags,
12 char **argv, int *pid, int *idx);
13
15 subroutine RPLDGO (srcnode, destnode, filename, flags, pid, idx, ierr)
16integer srcnode, destnode, flags, pid, idx, ierr
17character filename*(*)
18
20 srcnode where program is stored
21
22 destnode where new process will be created
23
24 filename program file
25
26 flags runtime flags passed to new process
27
28 argv null-terminated array of strings to be passed as command-
29 line arguments to the new process
30
31 pid new process identifier (output)
32
33 idx new process index (output)
34
36 If the source and destination nodes are identical, the program is not
37 transferred and the process is created with rpcreate(2). Otherwise the
38 program is transferred with rload(2), stored in /tmp on the destination
39 node, and created with rpgo(2).
40
41 If the source node is the local node, the program is located by search‐
42 ing the directories defined in the PATH environment variable of the
43 caller. Otherwise, the PATH variable of the remote LAM daemon is used.
44 Usually, the only difference is in how the "." directory is resolved.
45 On the local node it is the current working directory of the calling
46 process. On a remote node it is the user's home directory.
47
48 Current Working Directory
49 By default, rploadgo() will propagate the caller's current working
50 directory to the created process if target node is the local node.
51 This is accomplished by passing the RTF_CWD runtime flag to rpgo(2) or
52 rpcreate(2). A remote process will assume the remote home directory as
53 its current working directory. This behaviour can be changed by the
54 RTF_APPWD runtime flag.
55
56 Runtime Flags
57 Runtimes flags are defined in <kio.h> (<NET.h> for Fortran) and can be
58 added together in any combination.
59
60 RTF_WAIT The new process will send a message to the calling process,
61 received by rpwait(2), when it exits. This flag is used if
62 the parent is interested in the exit code of the child
63 process. Failure to call rpwait(2) at some point after
64 using this flag will leave stray messages with weird events
65 in buffers on the caller's node.
66
67 RTF_TRACE Enable tracing for the new process.
68
69 RTF_APPWD The current working directory will be the location of the
70 executable program.
71
73 ENOPDESCRIPTORS The remote process descriptor table is full.
74
75 ENOFLDESCRIPTORS The table of strorage blocks (kept by the flat dae‐
76 mon) is full.
77
79 rpcreate(2), rpgo(2), rpwait(2)
80
81
82
83LAM 7.1.2 March, 2006 RPLOADGO(2)