如何复制 bash 的实例



我正在用 C 编写/调试一个在 while(1) 循环上运行的 shell,每次我退出 shell 时,它都会使用 exit() 关闭终端,我用来运行可执行文件,所以我经常必须打开另一个终端并 cd 回到我工作区的目录才能继续工作。我认为这将是学习如何在当前工作目录中打开另一个终端进程的一个很好的理由。

附言。为了提高效率,我知道更好的解决方案是学习如何在不关闭终端的情况下结束我的可执行文件,但这不是我要问的。

在 bash shell 中,执行 bash 以在运行可执行文件之前打开子 shell。id est,bash 作为您在可执行文件之前运行的命令运行。因此,当您的可执行文件终止自身并且它是 shell 时,只有子外壳将被终止。

bash -c name_of_your_executable

正如您在问题中提到的,更好的解决方案是在不终止 shell 的情况下结束可执行文件。

相关内容

  • 没有找到相关文章

最新更新