3

我按照Symfony2 指南在开发模式下自动转储资产文件:

  • 我将use_controller参数更改为false在我的开发配置文件中。
  • 我开始了--watch例行公事。

    $ php app/console assetic:dump --watch
    

我怎样才能停止观看?

4

3 回答 3

2

仅在其自身工作时查找文件更改的命令。那么你停止命令 - 不再自动重新生成资产。

在 linux 上,它的典型 ctrl+c 或 ctrl+x

PS来自DumpCommand的一些代码

while (true) {
    try {
        foreach ($this->am->getNames() as $name) {
            if ($this->checkAsset($name, $previously)) {
                $this->dumpAsset($name, $output);
            }
        }

        // reset the asset manager
        $prop->setValue($this->am, array());
        $this->am->load();

        file_put_contents($cache, serialize($previously));
        $error = '';
    } catch (\Exception $e) {
        if ($error != $msg = $e->getMessage()) {
            $output->writeln('<error>[error]</error> '.$msg);
            $error = $msg;
        }
    }
    sleep($input->getOption('period'));
}
于 2013-10-15T10:27:09.093 回答
1

就像@forgottenbas 指出的那样,代码在无限循环中运行,所以它不是真正的后台工作人员,而只是一个占据你的外壳直到外力干预的工作人员。

通常,开发人员可以终止进程或它所占用的 shell 会话。

例如,在 OSX ctrl+上c发送SIGKILL

在 Windows 中,它在 Window shell 中的工作似乎有点不同:http ://en.wikipedia.org/wiki/Kill_(command)#Microsoft_Windows

这绝对是操作系统,或者更准确地说,取决于外壳。

于 2014-03-01T20:32:40.327 回答
1

如果您已经生成了一个 linux 后台进程,例如:

$ php app/console assetic:dump --watch &

你必须杀死正在运行的 php 进程

于 2014-05-08T18:30:06.353 回答