我真的搜索过这个,我所能找到的就是你可以执行 execvp() shell 命令。
我想知道我是否可以 fork 进程然后让它们运行程序内部的函数? (例如,我在代码中自己编写的函数)
最佳答案
当然,您可以让子级执行一个函数,而父级在同一可执行文件中执行不同(甚至相同)的函数。
pid_t pid = fork();
if (pid < 0)
err_syserr("failed to fork: ");
else if (pid == 0)
be_childish();
else
be_parental();
您可以根据需要向 be_childish()
和 be_parental()
添加参数。在代码执行 fork()
之前,您可以创建管道或套接字以在它们之间进行通信 — 或信号量、共享内存或任何您想要的 IPC。
关于我可以 fork 进程并执行内部函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52032543/