【问题标题】:how to exit Powershell when a process is still running?当进程仍在运行时如何退出Powershell?
【发布时间】:2014-03-11 23:39:16
【问题描述】:

我有一个 powershell 脚本,它通过一个批处理文件启动一个 java 应用程序。

powershell 没有退出,因为 java(进程)仍在运行,

我不能使用 taskkill,因为我需要 java 继续运行,

TeamCity 自动完成该过程,因此我无法手动关闭 CMD 窗口。

有什么建议吗?

【问题讨论】:

标签: batch-file powershell scripting cmd teamcity


【解决方案1】:

你为什么不直接使用Start-process CmdLet 来启动你的java进程呢?

【讨论】:

  • 我试过了,它在另一个 CMD 窗口上打开了进程,该窗口永远不会关闭,我不能使用 /wait=false 标志,因为它甚至在 Java 启动之前就关闭了窗口
【解决方案2】:

您可以尝试直接从 powershell 调用java,而不是:

cmd /c java.exe <your stuff>

这应该允许它启动 java 进程并结束 powershell 脚本。

【讨论】:

  • 我需要从powershell调用它,因为它是一个远程服务器,所以我不能使用cmd。
  • 你能在包含cmd /c java.exe &lt;your stuff&gt;的删除服务器上让powershell调用一个bat脚本吗?
  • 我可以,我做到了。但它不会关闭 CMD,因为 java 仍在运行
【解决方案3】:

最后我使用了 Winexe tool, 它允许您从 Linux 启动 cmd 命令到 Windows 机器。 并使用此工具运行批处理。

【讨论】:

    猜你喜欢
    • 2022-01-23
    • 2010-09-21
    • 1970-01-01
    • 1970-01-01
    • 2012-06-26
    • 2015-04-27
    • 1970-01-01
    • 2016-04-10
    • 1970-01-01
    相关资源
    最近更新 更多