2

我想要做的是......我已经使用 PAPERCLIP 将文件上传到服务器。为此,我使用了一些 shell 脚本。现在我希望当用户浏览文件并单击上传按钮时,我想从那一刻开始记录时间。如果进程仍在进行并且指定的时间(假设 5 秒)到期,我想终止该进程。现在请告诉我如何实现它?

我正在使用 Process.pid。但如果我使用 2 个客户端窗口访问该网站。两个窗口 r 都显示相同的进程 ID。

任何人都可以告诉我如何在特定时间(如 2 秒)后杀死 ruby​​ on rails 中的进程吗?在 Rails 中,不同的用户可以从他们的浏览器访问网站。所以我想为每个用户创建单独的进程 ID,一旦指定的时间到期就想杀死它。我认为可以用秒表来指定时间。对于独立的进程 ID,我可以使用线程概念。

4

1 回答 1

0
    Each Passenger instance is a separate process and it has it's own PID. Killing processes from Ruby is really easy. We do this by executing following command:

    1
    Process.kill(signal, pid)
    We will use this method and try to kill Passenger processes gracefully (gracefully means that Passenger process will complete any request that it is performing right now and will shutdown). If this fails, we will send a TERM signal and kill it instantaneously.

    SIGUSR1 signal - shutdown gracefully
    TERM signal - kill it instantaneously
----------------
For more details :
http://dev.mensfeld.pl/2012/08/simple-rubyrails-passenger-memory-consumption-limit-monitoring/
于 2012-10-11T04:51:13.430 回答