【发布时间】: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