3

当我以守护程序模式启动“粘贴”网络服务器时,它似乎会在源文件的时间戳更新时取消它重新加载的能力。

这是我如何启动守护进程...

cd ${project} && ../bin/paster serve --reload --daemon development.ini; cd ..;

...这违背了使用粘贴的要点之一(对我来说)。

有没有人遇到过这个或知道我做错了什么?

完整地说,我正在更改的文件是一个控制器文件。

版本是“PasteScript 1.7.3”

4

2 回答 2

5

我相信这两个选项本质上是不兼容的,因为重新加载器使用 SIGTERM 停止服务器,而守护进程服务器不受此影响——并且因为daemon它旨在用于在生产环境和reload开发/调试环境中运行,我想他们的不兼容不会被视为一个很大的损失。我想象一个定制的重新加载器,为正确停止和重新启动守护服务器而定制,当然可以开发,但我不知道任何现有的。

于 2009-08-10T02:57:47.783 回答
3

我有一个类似的问题并规避了这个问题。我目前在远程主机上运行 paste ,但我仍在开发中,所以我需要一种重新启动 paste 的方法,但是手动手动太耗时,并且守护进程不起作用。所以我总是必须保持一个对服务器打开的 shell 窗口并在没有 --daemon 的情况下运行 paste 。一旦我完成了那天的工作,我关闭了 shell,paster 死了,这很糟糕。

我通过在“屏幕”中运行非守护进程的 paste 来规避这一点。只需在您选择的 shell 中键入“screen”,您通常会根据您的 linux 显示一个虚拟终端,即使您注销远程会话,它也会继续运行。像往常一样在新的“窗口”(屏幕)中使用 --reload 但没有守护程序启动 paste,然后分离窗口,这样你就可以返回到正常的 shell(分离 = CTRL-A,然后按 D)。您可以通过键入“screen -r”重新进入该屏幕。如果您想杀死它,请重新连接它(screen -r)并在屏幕内键入 CTRL-A,然后按 K。

希望有帮助。

于 2009-08-10T12:03:35.417 回答