小智 323
这有点晚了,但我在自己寻找答案时遇到了这个问题,我发现了这个:
START /B program
Run Code Online (Sandbox Code Playgroud)
在 Windows 上,它最接近 Linux 命令:
program &
Run Code Online (Sandbox Code Playgroud)
从控制台帮助系统:
C:\>HELP START
Starts a separate window to run a specified program or command.
START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
[/NODE <NUMA node>] [/AFFINITY <hex affinity mask>] [/WAIT] [/B]
[command/program] [parameters]
"title" Title to display in window title bar.
path Starting directory.
B Start application without creating a new window. The
application has ^C handling ignored. Unless the application
enables ^C processing, ^Break is the only way to interrupt
the application.
Run Code Online (Sandbox Code Playgroud)
我看到的一个问题是,您有多个程序写入控制台窗口,这有点令人困惑和混乱。
为了使其不与用户交互,您可以将输出重定向到一个文件:
START /B program > somefile.txt
Run Code Online (Sandbox Code Playgroud)
小智 84
我怀疑你的意思是:在后台运行一些东西并在启动的程序继续的情况下立即返回命令行。
START "" program
Run Code Online (Sandbox Code Playgroud)
哪个是 Unix 等价物
program &
Run Code Online (Sandbox Code Playgroud)
nhi*_*kle 48
您的问题非常含糊,但ServerFault 上有一篇帖子可能包含您需要的信息。那里的答案描述了如何运行隐藏的批处理文件窗口:
您可以改为使用 Windows 脚本文件静默运行它。Run 方法允许您在不可见模式下运行脚本。创建一个
.vbs这样的文件Run Code Online (Sandbox Code Playgroud)Dim WinScriptHost Set WinScriptHost = CreateObject("WScript.Shell") WinScriptHost.Run Chr(34) & "C:\Scheduled Jobs\mybat.bat" & Chr(34), 0 Set WinScriptHost = Nothing并安排它。本示例中的第二个参数设置窗口样式。0 表示“隐藏窗口”。
您可以使用这个(评论!)PowerShell 脚本:
# Create the .NET objects
$psi = New-Object System.Diagnostics.ProcessStartInfo
$newproc = New-Object System.Diagnostics.Process
# Basic stuff, process name and arguments
$psi.FileName = $args[0]
$psi.Arguments = $args[1]
# Hide any window it might try to create
$psi.CreateNoWindow = $true
$psi.WindowStyle = 'Hidden'
# Set up and start the process
$newproc.StartInfo = $psi
$newproc.Start()
# Return the process object to the caller
$newproc
Run Code Online (Sandbox Code Playgroud)
将其另存为.ps1文件。启用脚本执行后(请参阅PowerShell 标记 wiki中的启用脚本),您可以向它传递一个或两个字符串:可执行文件的名称和可选的参数行。例如:
.\hideproc.ps1 'sc' 'stop SomeService'
Run Code Online (Sandbox Code Playgroud)
我确认这适用于 Windows 10。
小智 6
这就是我的 PHP 内部服务器进入后台的方式。所以从技术上来说它应该对所有人都有效。
start /B "" php -S 0.0.0.0:8000 &
Run Code Online (Sandbox Code Playgroud)
谢谢