首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在WINDOWS的后台启动进程

在WINDOWS的后台启动进程
EN

Stack Overflow用户
提问于 2015-09-30 05:46:17
回答 1查看 547关注 0票数 0

我在从PHP脚本运行命令时遇到问题。我尝试运行的命令是

echo y | plink -ssh -N -D 9999 admin@1.2.3.4 -pw admin -v

问题是,命令会运行,但脚本会冻结,直到执行plink命令,这是我不想要的。我还尝试了(在后台运行)以下代码:

START /MIN "cmd.exe" /C "plink -ssh -N -D 9999 admin@1.2.3.4 -pw admin"

我看到最小化的plink正在运行,我一关闭它,脚本就会继续运行。

我也试过了:

START /B /MIN "cmd.exe" /C "plink -ssh -N -D 9999 admin@1.2.3.4 -pw admin"

它做同样的事情,但在PHP脚本中显示输出。

这是函数:

代码语言:javascript
运行
复制
function create_tunnel($ip,$user,$pass,$port)
{
    exec('START /min cmd /c "echo y | plink -ssh -N -D '.$port.' '.$user.'@'.$ip.' -pw '.$pass.' -v" > nul');
}

要运行此命令并让PHP脚本继续执行,我必须做些什么?在linux中,这将是非常简单的,我将只使用screen命令。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2015-09-30 05:56:16

尝试Symfony Process组件:

代码语言:javascript
运行
复制
$process = new Process('ls -lsa');
$process->start();

while ($process->isRunning()) {
    // waiting for process to finish
}

echo $process->getOutput();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32854313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档