如何运行另一个程序的多个副本 - C.

时间:2016-11-15 19:38:09

标签: c

我有2个文件file1.c和file2.c 我想运行 file1.c 的多个副本来自我的主文件 file2.c

2 个答案:

答案 0 :(得分:1)

检查系统调用fork()exec()。 fork允许复制当前进程及其所有内存。 exec调用允许替换为当前进程执行的代码。

基本上,从您的主进程,您将多次fork。如果fork的结果为0,则使用命令行为子进程调用exec。

int i;
for (i = 0; i < 10; i++) {
    // fork() returns 0 for the child process, 
    // and the actual pid of the new process for the parent process.
    pid_t pid = fork();

    if (!pid) {
        // This if will be executed only by the child process.

        // execvp() first argument is the executable file,
        // the second argument is a varargs for each arguments of the command line.
        execvp("testsim");
    }
}

但是,要使其正常工作,必须将两个c文件编译为可执行文件。

答案 1 :(得分:0)

使用system()从另一个可执行文件执行可执行文件。

runsim.c

中添加此行
system("path_to_testsim_executable/testsim_executable_name");

根据您想要运行 testsim 的次数来调用上述行。

现在编译.c个文件并运行runsim可执行文件。