Linux进程没有用处

时间:2014-05-19 13:25:21

标签: c process cpu-usage raspbian

我制作了一个复杂的C程序,在执行过程中,以这种方式分叉许多其他进程:

#include <unistd.h>

int main(int argc, char *argv[])
{
    pid_t childpid = fork();

    if(childpid == -1) {
        perror("Failed to fork");
    }

    if(childpid == 0) {
        setsid();
    int execReturn = execl("/bin/my_code", (char *) 0);
    } else {}

    return 0;
}

关键是当我从shell启动TOP命令时,我可以看到许多名为“my_code”的进程,它们看起来都像这样:

2377 root      20   0     0    0    0 Z   0,0  0,0   0:00.14 my_code
2379 root      20   0     0    0    0 Z   0,0  0,0   0:00.02 my_code
2380 root      20   0     0    0    0 Z   0,0  0,0   0:00.02 my_code

我担心这可能会有危险,因为我的代码设计为不间断地连续运行。

互联网对我帮助不大。

注意:我的操作系统是Raspbian。

编辑:

我要问的是,除了代码之外,我在TOP输出中看到的那些进程可能对CPU造成危险。

正如我所说,我的代码设计为连续运行,因此我不知道问题是否会在一周左右出现。

编辑:

我编辑了我的代码,使其独立于使用system(...)调用的子进程。

非常感谢@alk。

0 个答案:

没有答案