【问题标题】:Running background processes (especially rails) in powershell on windows 7在 Windows 7 上的 powershell 中运行后台进程(尤其是 rails)
【发布时间】:2011-05-22 10:09:58
【问题描述】:

如何在 Windows 7 上的 powershell 中运行后台进程?这里的答案:Powershell equivalent of bash ampersand (&) for forking/running background processes 指的是似乎不再存在的 *-psjob 命令。

我通过 google 找到了另一个关于 psjob 丢失的参考,但没有解决方案。

编辑:显然解决方案涉及一个名为 start-job 的命令。

不幸的是,目前尚不清楚如何运行带参数的程序。我正在尝试运行“rails 服务器”。当我在提示符下键入rails server 时,rails 运行得很好,但它阻塞了我的 shell。我尝试了各种使用 server 参数调用 rails 的方法,例如:

start-job -scriptblock {rails server}
start-job -scriptblock {"rails server"}
start-job -scriptblock {rails "server"}
start-job -scriptblock {rails} -argumentlist server
start-job -scriptblock {rails} -argumentlist "server"
start-job -scriptblock {rails $args[0]} -argumentlist server
start-job -scriptblock {rails $args[1]} -argumentlist server
start-job -scriptblock {rails $args[0]} -argumentlist @("server")

无济于事

【问题讨论】:

  • start-job 将返回一个工作;运行 receive-job 以获取您的尝试返回的输出。使用 get-job 获取状态消息。如果没有任何错误,我们无法为您提供帮助。 “不起作用”没有用。
  • @x0n:没有 powershell 错误。
  • 使用 ProcessExplorer 并查找进程 (rails)(如果已创建)。或者 ProcessMonitor,它可能会捕获该进程已创建,然后您可以找到使用的命令行参数。这可以澄清是否使用正确的参数调用它。

标签: ruby-on-rails windows-7 powershell powershell-2.0


【解决方案1】:

试试这个

Start-Job -scriptblock { param($p) rails $p } -ArgumentList "server"

【讨论】:

  • 不幸的是这也不起作用 - rails 只是输出一个使用消息:(
  • 用 echo 代替 rails 表明 echo 正在通过“服务器”,如果我知道发生了什么,那该死的。
【解决方案2】:

随机猜测:尝试完全限定 rails.exe 的路径。

【讨论】:

    【解决方案3】:

    您是否尝试过使用 New-PSSession cmdlet?这允许您使用 PowerShell Remoting 在新的后台会话下运行命令,即使在本地计算机上也是如此。

    $Session = New-PSSession 本地主机

    Invoke-Command -Session $Session -ScriptBlock {Rails Server}

    更多信息:

    帮助 about_remote*

    【讨论】:

      【解决方案4】:

      它不是很优雅,但你总是可以制作一个批处理文件并调用它。我这样做是为了从 PowerShell 调用 curl。

      【讨论】:

        【解决方案5】:

        看看powershell - passing parameters to exe中的函数

        Call 功能可以让你感兴趣。

        【讨论】:

          猜你喜欢
          • 2013-02-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-12-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多