【问题标题】:Implicitly launch detached program (&) from terminal从终端隐式启动分离程序 (&)
【发布时间】:2013-05-02 17:55:27
【问题描述】:

我确信这最终会成为重复,但我不知道如何措辞以便我可以搜索它...

我喜欢使用从终端启动的 emacs 进行编程。当我使用我的 mac 时,我使用 aquamacs 和命令

aquamacs Program.py

将在准备编辑 Program.py 的单独窗口中启动 aquamacs。但是,当我在我的 linux 机器上工作时,要获得相同的结果,我必须输入

emacs Program.py &

而且我总是忘记“&”。所以 70% 的时间我最终都会关闭 emacs 窗口,然后用“&”重新启动。现在我明白为什么那个“&”在那里了,但是有没有办法设置我的系统,以便命令

emacs Program.py

总是作为一个独立的进程启动?唯一一次我可能不希望这种行为是我通过慢速连接进行 SSH 连接,在这种情况下我通常使用“-nw”。

【问题讨论】:

    标签: bash emacs terminal


    【解决方案1】:

    您可以点击终端并按Ctrl-Z将已经运行的前台进程移动到后台。

    或者,您可以将此功能添加到您的~/.bashrc

    emacs() {
        command emacs "$@" &
    }
    

    【讨论】:

    • 太棒了,谢谢,但现在如果我执行“emacs Program.py -nw”,它就不再起作用了。不挑剔,但有什么想法?
    • @EddyTheB 如果您忘记输入 & 符号,我想说按 Ctrl-Z。
    【解决方案2】:

    对于 emacs 的具体情况,我使用了一个 shell 脚本,它比这更复杂,但出于您的目的归结为

    #!/bin/csh -f
    /bin/emacs $*:q &
    

    将它放在 $path 中比“真实” emacs 所在位置更早的目录中,并将 /bin/emacs 替换为系统上 emacs 的真实路径。

    【讨论】:

      猜你喜欢
      • 2022-06-15
      • 2011-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多