Jac*_*ott 11 windows bamboo batch-file cmd.exe
我有一个 Windows 服务(Bamboo 集成服务器),它运行一个批处理文件作为该脚本的子进程(构建作业)。在该批处理文件中,我希望能够启动一个进程(我们称之为 workerprocess.exe)并让该进程在后台运行。这一切都很好,我用过:
start "title" /B workerprocess.exe
Run Code Online (Sandbox Code Playgroud)
这一切都很好。问题是这会阻止构建作业的完成。所以批处理脚本完成,但由于 workerprocess.exe 子进程,服务 (Bamboo) 不知道它已经完成:它仍然等待(并显示来自)workerprocess.exe 的输出。
我查看了 start 命令的文档,但看不到任何我想要的东西。我看到了这个问题,但它也没有真正的帮助 - 该服务最终仍然在等待该过程完成。
所以我想总结一下:如何从批处理脚本运行一个新进程,以便它完全分离并且不会阻止任何等待该批处理脚本完成的事情。
要自我隐藏已经运行的脚本,您需要getCmdPid.bat和windowoMode.bat
@echo off
echo self minimizing
call getCmdPid.bat
call windowMode.bat -pid %errorlevel% -mode hidden
echo --other commands--
pause
Run Code Online (Sandbox Code Playgroud)
所有链接的脚本都可以下载并使用您觉得方便的任何名称保存。
用法示例:
call hidder.bat myBat.bat myexe.exe
call myexe.exe
Run Code Online (Sandbox Code Playgroud)
用法示例:
call SCHPhidden.bat "cmd /c myBat.bat" "argument"
Run Code Online (Sandbox Code Playgroud)
示例用法(有关更多信息,请使用“-h”打印帮助):
call ShellRunJS.bat "notepad.exe" -style 0 -wait no
Run Code Online (Sandbox Code Playgroud)
示例用法(有关更多信息,请使用“-h”打印帮助)。如果它不在以下目录中,则需要可执行文件/脚本的完整路径%path%:
call win32process.bat "notepad" -arguments "/A openFile.txt" -showWindow 0 -title "notepad"
Run Code Online (Sandbox Code Playgroud)
示例用法(有关更多信息,请使用“-h”打印帮助):
call ProcessStartJS.bat "notepad" -arguments "/A openFile.txt" -style Hidden -directory "." -title "notepad" -priority Normal
Run Code Online (Sandbox Code Playgroud)
您尝试过隐藏启动(HSTART)吗?(费用 20 美元)
我个人用它来运行隐藏窗口的每小时批处理作业。他们还提到您可以作为参数顺序运行命令(或者默认情况下,我假设)异步运行。我不知道这将如何影响您对 CPU、内存或磁盘的争用...但该软件还为您提供了在执行操作之前等待一段时间的选项。
| 归档时间: |
|
| 查看次数: |
29142 次 |
| 最近记录: |