使用 php 在后台执行 shell 脚本

2023-11-25

我需要执行一个 shell 脚本。问题是我想这样做

$Command = "nohup cvlc input --sout '#transcode {vcodec=h264,acodec=mp3,samplerate=44100}:std{access=http,mux=ffmpeg{mux=flv},dst=0.0.0.0:8083/".output"}' &";
$str = shell_exec($Command);

我不希望它等到命令完成,我希望它在后台进程中运行。 我不想要另一个 php 线程,因为它会超时,该命令可能需要长达 3 小时才能完成。


您可以尝试使用如下函数在后台运行命令:

function exec_bg($cmd) { 
    if (substr(php_uname(), 0, 7) == "Windows"){ 
        pclose(popen("start /B ". $cmd, "r"));  
    } 
    else { 
        exec($cmd . " > /dev/null &");   
    }
}

这会使您的 shell 命令运行,但 php 流程继续。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 php 在后台执行 shell 脚本 的相关文章

  • 在 Laravel 中的编辑表单上获取选定选项

    我的网站订单有一个可编辑的表单 并且有以下字段 User quantity note status 我在此表单中还有其他选项 但只有这些字段对我来说很重要 以便能够获取默认值 例如 我希望能够查看用户默认订购的数量 然后我可以更改它或保留它
  • Cakedc.users => 总是重定向到主页

    我在新的 Cakephp 安装上使用插件 CakeDC Users 我有两个控制器 PagesController php CardsController php Pages 有 1 个操作 Beta 它是主页 Cards 有两个操作 索引
  • 纯基于网络的版本控制系统

    我的托管服务当前不允许在其服务器上运行 允许 svn git cvs 我真的希望能够将我的开发计算机上的当前源代码与我的生产服务器 同步 我正在寻找一个纯php python ruby版本控制系统 不只是一个client对于版本控制系统 不
  • Laravel 从 API 响应中删除标头值

    Laravel 应用程序版本 5 6 我希望从 API 响应中显示的 Cache Control 标头中删除 private 值 我有一个中间件添加 无缓存 和 无存储 值 response next request response gt
  • Linux:在文件保存时触发 Shell 命令

    我想在修改文件时自动触发 shell 命令 我认为这可以通过注册 inotify 挂钩并调用来在代码中完成system 但是是否有更高级别的 bash 命令可以完成此任务 尝试 inotify 工具 我在复制链接时遇到问题 抱歉 但 Git
  • Laravel/00webhost 错误 404。在此服务器上找不到请求的 URL

    1 将我的文件上传到 000webhost 我将公用文件夹中的所有文件放置到公共 html然后我创建了一个名为laravel我在那里上传了所有其他文件 这是我的目录结构 laravel app 引导程序 config 公共 html 索引
  • yii2 中的自动完成

    在 Yii2 中 我希望当用户开始输入时 我的输入字段之一能够自动完成 下面是我的代码 它使用Jui Autocomplete 这是行不通的 当我打印我的数组时 我就像 Array 1 gt abc 2 gt xyz 4 gt pqr
  • 从 php 执行 bash 脚本并立即输出回网页

    我有一组 bash 和 Perl 脚本 开发在 Linux Box 上部署所需的目录结构 可选 从svn导出代码 从这个源构建一个包 这在终端上运行良好 现在 我的客户请求此流程的 Web 界面 例如 某些页面上的 创建新包 按钮将一一调用
  • 如何在apache 2.4.6上安装apxs模块

    我刚刚用过apt get update我的 apache 已更新为2 4 6 我想安装 apxs 来编译模块 但收到此错误 The following packages have unmet dependencies apache2 pre
  • json_encode 返回 NULL?

    由于某种原因 项目 描述 返回NULL使用以下代码 这是我的数据库的架构 CREATE TABLE staff id int 11 NOT NULL AUTO INCREMENT name longtext COLL
  • Linux:如何从特定端口发送TCP数据包?

    如何打开原始套接字以从特定 TCP 端口发送 我希望所有连接始终来自临时端口以下的一系列端口 如果您正在使用raw套接字 然后只需在数据包标头中填写正确的 TCP 源端口即可 相反 如果您使用 TCP 套接字接口 socket connec
  • 安装J语言的JQt IDE,出现错误

    我一直按照这里的说明进行操作 http code jsoftware com wiki System Installation Linux http code jsoftware com wiki System Installation L
  • 使用 yum 和 pear 安装 php-soap 均失败

    我正在尝试在 Centos 6 4 服务器上安装 PHP 的 SOAP 扩展 我对包管理器 从 CLI 安装包并在 PHP 中配置它们相当不熟悉 我相当有能力管理 php ini 和其他 PHP 配置文件 soap ini 等 我尝试使用以
  • PHP Intl 扩展线程安全吗?

    我一直在阅读有关 PHP 中的语言环境的内容 看起来setlocale 线程有问题 我对线程不太熟悉 文档提到它不是线程安全的 我想让我的项目能够处理某些数字格式 并且 Intl 扩展似乎很有趣 http php net manual en
  • 在 bash 脚本中提取 XML 值 [重复]

    这个问题在这里已经有答案了 我正在尝试从 xml 文档中提取一个值 该文档已作为变量读入我的脚本中 原始变量 data is
  • ACL授权失败后ZF3重定向

    我有一个带有 ACL 的新 ZF3 应用程序 现在 我需要在未经授权的访问的情况下重定向到错误页面 例如 403 我认为最好的方法是触发一个事件 然后捕获它 但我失败了 全部都在我的用户模块中Module php 摘录 namespace
  • PHP 共享标头而不使用服务器端脚本?

    到目前为止我总是通过 PHP 解决简单的问题 您有一个包含页眉 菜单 页脚和内容字段的网站 每个页面的页眉 菜单和页脚通常是相同的 在没有 PHP 或任何其他服务器端语言的情况下 如何使页眉 菜单和页脚数据仅存在于一个文件中 例如 您不会有
  • 使用 file_get_content 发布数据

    我已经做了一些关于如何使用的研究file get content与帖子 我也读过this one https stackoverflow com questions 2445276 how to post data in php using
  • PHP条件,如果当前页面,则链接突出显示[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我有一个带
  • 如何将变量插入 PHP 数组?

    我在网上查了一些答案 但都不是很准确 我希望能够做到这一点 id result id info array id Example echo info 0 这有可能吗 您需要的是 不推荐 info array id Example varia

随机推荐

  • nodemailer 无效登录:535 身份验证失败

    我正在尝试在我的节点应用程序中使用nodemailer npm 包 通过联系页面发送电子邮件 它给我这个 535 身份验证失败错误 但我可以向您保证我的电子邮件和密码绝对正确 var express require express var
  • Rails 3 自动资产部署到 Amazon CloudFront?

    Rails 3 1 中是否有可用的 gem 或方法可以自动将资产上传到亚马逊云前端并使用这些资产而不是提供本地托管的资产 我想手动上传编译的资产然后更改 Rails 应用程序配置以使用该资产主机很容易 但是当修改资产时 需要再次手动上传到云
  • 设置 templateLocation 参数时数据流作业运行失败

    当我传递参数暂存 临时和输出 GCS 存储桶位置时 数据流作业失败并出现以下异常 Java代码 final String used Arrays copyOf args args length 1 used used length 1 pr
  • 防止在 Vim 中打开 NERDTree 或 MiniBuffExplorer 窗口内的文件

    我发现自己在 Vim 中打开了错误的窗口 有时是 NERDTree 或 MiniBuffExplorer 这真的让我很失望 我确信这种情况正在发生 因为我的光标错误地聚焦在这些窗口之一内 但是有什么我可以添加到我的 vimrc文件来防止这种
  • Postfix - 如何处理传入的电子邮件? [关闭]

    Closed 这个问题是无关 目前不接受答案 有人知道如何在 postfix 中处理虚拟邮箱的传入电子邮件吗 我正在构建 Web 应用程序 用户通过向应用程序发送电子邮件来添加新内容 每个用户使用的电子邮件地址是自定义的 例如 电子邮件受保
  • 在 Qt 中将 C++ 对象公开给 Javascript

    有什么方法可以将 C 对象 函数公开给 Qt 中 QtWebKit 浏览器内运行的 JavaScript 可以将 ActionScript 对象公开给在 Adob e AIR 中的 WebKit 浏览器内运行的 JS 代码 我正在 Qt 中
  • 在段落中放置表情符号而不影响“行高”

    如何在不影响段落内容的情况下插入表情符号line height不管表情有多大 IE 喜欢 我得到的最接近的是position absolute or vertical align text top 其中没有一个能完成这项工作 p img h
  • jQuery:获取从 中选择的文件名

    这段代码应该可以工作in IE 甚至不要在 Firefox 中测试它 但事实并非如此 我想要的是显示附件的名称 有什么帮助吗
  • Web.config 允许特定用户进行位置访问

    我有一个网络服务器 用户可以从其中下载特定于每个用户的文件 为了确保每个用户只能下载自己的文件 他们必须通过以下方式进行身份验证基本身份验证 因此 对于每个用户 服务器上都有一个 Windows 帐户 该帐户具有对用户特定文件夹的读取权限
  • HTTP 标头 Vary:* 的含义是什么

    据我所知 HTTP 标头Vary指定以逗号分隔的 HTTP 标头列表 在确定请求是缓存命中还是未命中时 缓存需要将这些标头与 URL 一起考虑 如果省略该标头 则表示仅考虑 URL 但是当标题是时会发生什么Vary RFC 2616 14
  • 连接到安全的 websocket

    我正在尝试使用 Jetty 或任何其他库 连接到安全的 websocket 问题是我收到 未找到受信任的证书 错误 我正在使用使用 keytool 生成的自签名证书 可以做什么 import java net URI import java
  • 如何在Spring Boot应用程序中使用多个MongoDB数据库? [复制]

    这个问题在这里已经有答案了 在我的应用程序中 我需要使用两个 MongoDB 数据库 我不知道如何在spring应用程序的application properties文件中添加2个MongoDB数据库 这是我的项目的 application
  • 如何清除最高有效位?

    如何将 int 中的最高有效位从 1 更改为 0 例如 我想将01101更改为0101 编辑 简化 并解释 答案 我在下面给出的答案是多余的 如果你only目标是将最高有效位设置为零 代码的最后一位构造了一个位掩码 其中包含数字中的所有位
  • 使用 Javascript 和 CSS 的 ReactJs 模态

    如何附加带有 body 结束标记的 ReactJS 模态窗口 以使用 body 标记设置模态绝对定位 这是添加在另一个组件内的示例 div p Model Pop up p div
  • 我们可以为标题中的标题标签设置样式吗

    我们可以将样式设置为 html head 中 header 中的标题标签 如下所示 我试过了没成功 您可以将 CSS 应用到
  • Python 快速计算大量距离

    我有 36 742 个点的输入 这意味着如果我想计算距离矩阵的下三角 使用文森蒂近似 我需要生成 36 742 36 741 0 5 1 349 974 563 个距离 我想保留彼此距离在 50 公里以内的配对组合 我当前的设置如下 sho
  • 如何检查java数组是否为空[重复]

    这个问题在这里已经有答案了 我想知道这段代码对于检查数组是否为空是否有效 或者我应该检查 null 吗 if arrayName System out println array empty else System out println
  • 使用JAVA(jsp)检查哪些复选框被选中

    我正在尝试创建一个 servlet 它显示一个带有复选框的简单表单 当用户选择他想要的复选框数量并单击 确认 时 我的 servlet 中的 POST 请求会检查哪些框已被选中并基于数据库查询 我不确定如何在 Java 中执行此操作 因为用
  • 有没有办法判断测试中是否将 --debug 或 --verbose 传递给了 PHPUnit?

    我正在对使用 CaptureEntirePageScreenshotToString 函数的 PHPUnit 的 Selenium 扩展进行一些重载 并且我只想在传入 verbose 或 debug 时才打印屏幕截图的路径 例如 phpun
  • 使用 php 在后台执行 shell 脚本

    我需要执行一个 shell 脚本 问题是我想这样做 Command nohup cvlc input sout transcode vcodec h264 acodec mp3 samplerate 44100 std access htt