在 Linux 中我们只需要添加一个&
就可以了。
对于 Windows 来说呢?
答案1
start /min cmd /c mycommand
如果你想在同一个 shell 中运行其他作业,你必须使用powershell 后台作业
如果要隐藏命令窗口,请使用以下代码保存 vbscript 文件(根据需要替换命令):
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "C:\mycommand_path\mycommand and args" & Chr(34), 0
Set WshShell = Nothing
创建此文件的快捷方式,然后双击它直接从 shell 运行它。听起来你真正想要的是作业控制。安装 unix 子系统以获取 bash 或 ksh 提示符并从那里执行它(如果你想要作业控制),但如果将其作为后台作业运行会导致问题,我并不感到惊讶。你可能希望将其作为后台进程运行。
答案2
这在 *nix 世界中称为作业控制。作业控制是 POSIX shell 的必需功能。
对于 Windows,我发现这个帖子关于一些等价物......
答案3
没有等效方法。您可以安装 cygwin 并执行相同的操作。或者您可以创建一个运行应用程序的服务:srvany 或其他工具将为您执行此操作。请记住,并非所有 Windows 应用程序都能以这些方式正常运行。
答案4
没有人提到start /b
:
C:\Users\dandv>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.