【问题标题】:how do I duplicate an instance of bash如何复制 bash 的实例
【发布时间】:2014-03-24 13:20:11
【问题描述】:

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

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

【问题讨论】:

标签: linux bash shell ubuntu fork


【解决方案1】:

在 bash shell 中,执行 bash 以在运行可执行文件之前打开一个子 shell。 Id est,运行 bash 作为您在可执行文件之前运行的命令。因此,当您的可执行文件自行终止并且它是 shell 时,只会终止子 shell。

bash -c name_of_your_executable

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

【讨论】:

    猜你喜欢
    • 2011-01-07
    • 2017-05-03
    • 1970-01-01
    • 2013-08-21
    • 2017-01-13
    • 2016-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多