gpt4 book ai didi

windows - 如何在 Windows 上从 "git gui"开始分离 "Git bash"?

转载 作者:可可西里 更新时间:2023-11-01 13:05:27 25 4
gpt4 key购买 nike

例如,

  1. 我开始“git bash”;
  2. 我导航到 certian 目录;
  3. 我开始git gui&;
  4. 我关闭控制台窗口或按 Ctrl+C。

Git-gui 的窗口消失了。即使我使用了 git gui&disown。即使当我按下 Ctrl+C 时它不在前台。

如何从 Windows 控制台正确分离 git gui

最佳答案

为了其他人的利益,我将给出与 git bash 相关的更一般的答案和 msys bash .

解决方案 1:不使用 stdout 分离

假设您要分离应用:

"C:\Program Files\MyApp\MyApp.exe"

它不会将您要检索的任何信息输出到标准输出(或标准错误)。
在 Windows bash shell 中使用:

cmd //c start //D "C:\\Program Files\\MyApp"  MyApp.exe arg1 arg2 

MyApp 将在单独的窗口中运行,关闭调用的 bash shell 不会影响它(大体上就像一个 Linux 守护进程)。

如前所述,除非是对话框消息,否则您无法读取应用程序消息,因此此解决方案适合 GUI 应用程序。无论如何,如果 MyApp.exe 是一个类似 MyApp.cmd 的 Windows 批处理文件,它将调用其 cmd.exe 主机并在那里登录:简而言之,您将读取输出.cmd/.bat 案例。

类似 Mac 的用户

cmd.exe 窗口将瞬间闪出。如果这对您(用户)来说不是很酷,请在上面的行中将 cmd 替换为 cmdow , NirCmd或类似的东西。

解决方案 2:使用标准输出分离

如果您想将日志读取到 stdout 和 stderr,请使用:

cmd //c start cmd //k  "C:\\Program Files\\MyApp\\MyApp" arg1 arg2 

如果 MyApp 是控制台应用程序,则通常建议使用此替代方法。现在你得到了一个带有“家”的守护进程。 MyApp 将由第二个 cmd.exe 托管运行,您将在此处看到它的输出。
对于 GUI 应用程序,您最终会看到两个窗口:MyApp 窗口和调用 cmd 窗口。

在这两种情况下,退出 MyApp 并不意味着关闭 cmd 窗口;关闭 cmd 窗口只会关闭 MyApp 控制台。

如果闪烁的拳头击中了你,这里你只需要替换第一个cmd,第二个是你的守护进程的visbile home。

解决方案 3:分离以文档为中心的应用程序

一些文档与一些处理应用程序密切相关,通过类似于 Linux shebang 语法的机制,但基于 Windows 的注册表;因此您无需调用相关应用程序即可打开文档。

这种行为可以在 bash 中甚至以一种分离的方式进行模拟。

对于不需要输出到 stdout 和 stderr 的应用程序,打开 MyApp.doc 时:

cmd //c start //D "C:\\Program Files\\MyApp"  MyApp.exe  "Path\\to\\MyApp.doc"

可以简化为:

cmd //c start //D "Path\\to" MyApp.doc

对于需要 stdout 和 stderr 输出的应用,

cmd //c start cmd //k  "C:\\Program Files\\MyApp\\MyApp" "Path\\to\\MyApp.doc"

可以简化为:

cmd //c start cmd //k  "Path\\to\\MyApp.doc"

关于windows - 如何在 Windows 上从 "git gui"开始分离 "Git bash"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15763615/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com