Hi,
Use "system" instead of "execl". For more information
try "man execl" and "man system". Basically, the first call to execl
causes your program to be replaced by /bin/date.
HTH,
mac mccalla
I am trying to run two external program sequentially. The program
runs fine till the first external program call and dont execute the second
one.
The code is as below:
#include <stdio.h>
#include
"mpi.h"
int main(int argc,char **argv)
{
int *buf, i, rank, nints,
len;
char hostname[256];
MPI_Init(&argc,&argv);
MPI_Comm_rank(MPI_COMM_WORLD,
&rank);
MPI_Barrier(MPI_COMM_WORLD);
gethostname(hostname,255);
printf("Hello world! I am process
number: %d on host %s\n", rank, hostname);
MPI_Barrier(MPI_COMM_WORLD);
execl("/bin/date", "date",
NULL);
MPI_Barrier(MPI_COMM_WORLD);
execl("/bin/ls", "ls",
NULL);
MPI_Barrier(MPI_COMM_WORLD);
MPI_Finalize();
return 0;
}
The output I am getting is as
below:
Hello world! I am process number: 0 on host cluster
Hello
world! I am process number: 1 on host cluster
Hello world! I am
process number: 2 on host compute-0-1.local
Hello world! I am process
number: 4 on host compute-0-2.local
Hello world! I am process number: 3
on host compute-0-1.local
Hello world! I am process number: 5 on host
compute-0-2.local
Thu Oct 11 12:18:40 IST 2007
Thu Oct 11 12:18:40 IST
2007
Thu Oct 11 12:18:40 IST 2007
Thu Oct 11 12:18:40 IST 2007
Thu Oct
11 12:18:40 IST 2007
Thu Oct 11 12:18:40 IST 2007
I am very
new to MPI programing, any suggestions would be highly
appreciated.
Thanking you in advance.
Regards
Did you know? You can CHAT without downloading messenger. Click
here