尽管其他类似的行在工作,但我的其中一行 shell 命令没有执行。我正在使用基于 Ubuntu 12.04 的操作系统的 linux 机器上运行。我也试过用exec,还是不行。
实际上,我在某个时候遇到了这个问题,在那里我遇到了挂起的问题(等待命令输出),这就是我将输出重定向到 /dev/null 的原因。因此,在开发中的某些地方发生了一些变化。我们确实创建了一个要安装的 debian 包,并且我已经运行了该安装包,所以我想可能是在覆盖文件时权限发生了变化,所以我向所有用户/组/所有者添加了读/写/执行,但这也不起作用.
代码在这里:
if(isset($_POST['activateXML']))
{
if (videoConsistencyCheck())
{
`cp {$fileXML} /apps/video/xml.xml`;
`sudo /apps/video/vsss restart >/dev/null 2>&1 &`;
systemUnvalidate();
header('Location: index.php?app='.$_GET['app']);
die();
}
}
我知道 if 语句中的第一行被执行。这行代码在实际终端中运行良好,所以这也不是问题。我做了很多谷歌搜索,我只能找到一个没有答案的问题,任何建议都会有所帮助。
编辑:所以看起来不起作用的实际上是按预期调用命令,但在 bash 脚本中我调用的启动-停止守护进程不起作用
编辑 2:我制作了一个测试 php 文件并从终端运行代码,通过在命令中添加 sudo 修复了 start-stop-daemon 错误,但它在我的代码中仍然不起作用。当按下提交按钮时,我正在调用此代码。