有什么办法可以在Windows的后台运行进程? nohup相当于windows

nohup在后台运行一个进程。 有什么等效的Windows?

您可以使用start命令在命令窗口的后台运行进程。

command1 command2 start command3 command4 

command2等待,直到command1完成,但command4不等待command3完成。

并且如果您需要独立于login的用户运行,则需要将该进程作为服务启动,并且您可以使用anysrv.exe

你可能想看看Windows服务。 您可以下载一些工具来托pipe作为Windows服务的任何进程。 这会导致进程在Windows启动时在后台加载,因此,如果不需要用户交互,您应该可以像这样托pipe它。

Windows Server 2003资源工具包

您所使用的工具称为srvany.exe。

在Windows中,唯一的方法是可以让用户启动的进程在注销后继续运行(即,“nohup”所做的)是通过“计划任务”还是作为Windows服务来启动它。 当用户注销login会话中的所有进程将被终止。

如果你是游戏来尝试“计划任务”方法,你会想知道如何以编程方式创build它们。 Win32_ScheduledJob WMI类可以做到这一点。 文档详细提供在这里: http : //www.microsoft.com/technet/scriptcenter/guide/sas_man_rsxs.mspx? mfr = true基本上,你看着做(无耻地从微软窃取):

 Set objService = GetObject("winmgmts:\\.") Set objNewJob = objService.Get("Win32_ScheduledJob") errJobCreated = objNewJob.Create("Program-to-execute.exe", "ugly-formatted-time-string-per-Microsoft-docs",True ,1 OR 4 OR 16, , ,JobID) If Err.Number = 0 Then Wscript.Echo "New Job ID: " & JobID Else Wscript.Echo "An error occurred: " & errJobCreated End If 

要授予“joe user”创build计划任务的能力,您必须修改%SystemRoot%\ Tasks文件夹的权限。 在这里看到一些信息在这方面: http : //technet.microsoft.com/en-us/library/cc785125(WS.10).aspx

这一切都取决于你的最终目的是什么。 您可以运行一个计划任务,只有当用户login设置为DISABLED时才运行该选项。 你可以使用远程机器上的psexec。 更好的做法可能是将stream程作为服务运行。 看看这个谷歌search , 这个其他的谷歌search , 这个线程 ,和这个其他线程的一些可能的线索,在您的search解决scheme。 最终,在Windows机器上似乎没有完全相同的 nohup。