如何在Windows的cmd下让程序在后台执行

如题所述

在执行的命令前加上start /b,比如start /b run.bat。就相当于Linux下的run.sh &。

windows上面查看进程,使用tasklist 命令
linux上面显示进程 使用 ps -ef 命令
----------------------------------------
在windows上面杀进程用taskkill命令
taskkill /im iperf.exe /t /f
linux上面用killall或者 kill命令
killall iperf1.7
----------------------------------------
在windows上面后台运行可以使用start 命令 并且指定/b 选项, linux系统需要在命令后面加上& 符号即可。
后台运行 iperf.exe 网络测试程序,并且把输出保存到 c:\iperf_multicast_server_logfile.txt
start /b iperf.exe -s -u -l 1k -B 224.0.100.2 -w 1G > c:\iperf_multicast_server_logfile.txt
后台运行/root/iperf1.7 网络测试程序,并且把输出保存到 /root/iperf_multicast_client_logfile.txt
/root/iperf1.7 -c 224.0.100.2 -u -l 1k -b 400M -w 1G -i 5 -t 60 -T 4 > /root/iperf_multicast_client_logfile.txt&
---------------------------------
windows上面显示 文本文件内容,可以用type命令。
type c:\iperf_multicast_server_logfile.txt
Linux上面显示文本文件内容,使用cat 命令即可
cat /root/iperf_multicast_client_logfile.txt

两者的区别在于“任务计划”会在前台运行,运行帐户为当前用户;
而at命令在后台运行,运行帐户为system。
当然at命令也可以使用/interactive选项在前台运行。

使用at命令要注意两点:
因为运行帐户不同,所以一些环境变量是不同的,比如使用pscp远程拷贝的时候,当前用户的key已经在注册表里,但是system用户没有,导致运行失败。(system如果第一次运行pscp会出现主机验证,解决方案是要么用/interactive运行一次,要么使用pscp -batch)
只有可执行文件(.exe .bat .com)可以直接使用at命令运行,cmd内置命令(如copy、ren和bat的语法等)要使用at 19:00 cmd /c copy ….的形式来运行,如果bat文件中也包含cmd命令,也要使用这种方式。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-06-16
使用start /b +命令即可,具体方法如下: 按windows和r组合键打开运行面板; 在运行框内输入cmd,再按回车键进入命令提示符中; 在命令提示符中输入“ start /b 命令 " 再按回车,即可后台运行该命令。本回答被提问者采纳
第2个回答  2017-06-16
用start /min exe路径就可以使exe程序后台执行