【发布时间】:2015-12-24 22:39:02
【问题描述】:
所以,我需要用 fork 在 linux 中创建一个进程。 子进程需要运行排序程序,并将“1”传递给它。 这是我正在尝试制作的代码:
int main(){
cout<<"Master #process: "<<getpid()<<"#parent process:"<<getppid()<<endl;
char* cmd[2];
cmd[0]="./Sort";
cmd[1]="1";
pid_t child_id=fork();
if(child_id==0){
execv(cmd[0],cmd);
}
cout<<child_id<<endl;
但是,当我尝试在 linux 控制台中运行它时,它只显示第一个字符串并且不运行排序。
【问题讨论】:
-
也许您想在退出父进程之前等待进程完成?
-
您的工作目录中是否有一个名为“Sort”(大写“S”)的可执行文件?