【问题标题】:nohup >/dev/null alternative for windowsnohup >/dev/null windows 的替代方案
【发布时间】:2015-02-22 18:32:08
【问题描述】:

我正在运行一个 php 脚本,该脚本在我的 Windows 操作系统中无法正常运行,但它应该在 linux 中运行。

我发现 nohup 不是与 windows 相关的工具。

$ffmpeg = 'C:\ffmpeg\bin\ffmpeg';
$command = "nohup >/dev/null 2>&1 ".$ffmpeg." -i {$input_path} {$ffmpeg_string} -stats -y {$output_path} 2> {$log_path} >/dev/null &";
exec( $command ); 

如果我想在 Windows 上运行此代码,那么我最好的选择是什么。 详细的解释将不胜感激,因为我对后台进程了解不多。

nohup on windows, exec without waiting for finish

【问题讨论】:

  • 你有没有试过$shell = new COM("WScript.Shell");,如果我无法废弃windows并转移到linux,我会这样做,然后再次推荐使用beanstalkd来运行后台任务..

标签: php windows ffmpeg background-process nohup


【解决方案1】:

nohup >/dev/null 2>&1

上述命令将所有内容从控制台重定向到空位置,包括错误日志 (2>&1)。

在 Windows 上,这是通过批量使用 echo off 来完成的。

您的问题可能应该改为“Windows 上 nohup 的等价物是什么”,这样会更清楚。

我认为此链接可为您提供有关您的问题的更多信息:What's the nohup on Windows?

【讨论】:

  • 其实我对“批量回显”这种术语并不熟悉。在php中如何实现?
  • 在控制台运行脚本时,如果脚本在控制台打印的内容过多,我们在命令前使用“@echo off”,告诉操作系统我们有兴趣仅在结果中而不是日志中
  • 您的问题更多是针对 PHP。你在哪里运行“nohup”连接字符串来形成你的命令,这样它就不会被打断。您是否已经在安装了 java 并为 Java 正确设置环境变量的机器上删除了这部分代码“nohup >/dev/null 2>&1”并用“javaw.exe”替换它。
  • 删除代码我得到的结果就像我的转换正在完成但没有得到任何当前的转换进度。我的机器上没有安装 javaw.exe。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-21
  • 1970-01-01
  • 1970-01-01
  • 2020-10-06
  • 2011-06-20
相关资源
最近更新 更多