在 C++ 中创建 Linux 进程

Creating a Linux process in C++

因此,我需要使用 fork 在 linux 中创建一个进程。 子进程需要运行 Sort 程序,并将“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 控制台中对它进行 运行 时,它只显示第一个字符串并且没有 运行 排序。

因为在C++中,没有办法标记数组的大小,除了终止符,你需要用NULL来结束你的数组。

char* cmd[3];
cmd[0]="./Sort";
cmd[1]="1";
cmd[2]=NULL;