-1

根据逻辑,下面的代码必须结束窗口,并且必须返回带有 ls 输出的控制台窗口,但它返回带有黑色背景的窗口,并且在该窗口中每个命令都在运行,但没有显示我正在编写和输出的内容即使我没有使用 noecho(),它也会以一种非常不寻常的方式出现。

else if(selected_item==0){
  wprintw(messagebar,"You have selected menu SHAILENDRA SINGH.",1);
  write_data0();
  if(fork())
    wait(0);
  else
    execlp("clear","clear",(char *)NULL);
  execlp("ls","ls",(char *)NULL);
  execlp("konsole","konsole",(char *)NULL);
  ESCAPE;
  refresh();
  delwin(menubar);
  delwin(messagebar);

  endwin();
}

需要帮助和建议来删除我的代码中的这个错误。

4

1 回答 1

3

execlp将结束当前程序并运行被调用的程序。

之后的任何事情execlp("ls","ls",(char *)NULL);都不会被执行。

您需要fork为每个execlp.

于 2012-11-06T13:23:08.000 回答