首页 Windwos Server 正文
  • 本文约546字,阅读需3分钟
  • 87
  • 0

Windows命令行程序在后台运行

温馨提示:本文最后更新于2024年7月26日 20:40,若内容或图片失效,请在下方留言或联系博主。

一般来说如果我们想让一个 Windows 命令行程序在后台运行,我们需要把这个程序写成一个 Windows 服务程序。然后使用 sc 命令或者把它安装成 Windows 服务,它才能在后台运行。

Windows 没有像 Linux 那样直接在命令最后加一个 & 字符就可以让命令在后台运行了。比如下面的命令可以让打包操作在后台运行,即使关掉窗口也不会关掉进程。

tar -czf home.tar.gz . &

在 Windows 上要达到类似的效果需要一些技巧。下面的命令可以让你的 Windows 命令行程序在后台运行,即使关掉了命令行窗口,你在任务管理器里还是能看到它。

要注意的是我们必须做一个批处理文件让这两行程序一起执行,一个一个在命令行里执行这两个命令是没有效果的。

@ECHO OFF
%1 start mshta vbscript:createobject("wscript.shell").run("""%~0"" ::",0)(window.close)&&exit
start /b your_command.exe

我们需要做的就是用自己的程序替换掉 your_command.exe 。

要停止已经开始运行的后台进程可以使用下面的脚本:

@ECHO OFF
taskkill /im your_command.exe /f
ping -n 2 127.1 >nul
评论