Ryan Tomayko 在这篇关于使用 Unix 进程控制命令的文章中引发了一场激烈的风暴。
我们应该做更多这样的事情。还有很多。我说的是 fork(2)、execve(2)、pipe(2)、socketpair(2)、select(2)、kill(2)、sigaction(2) 等等。这些是我们的朋友。他们非常想帮助我们。
我有一些代码(delayed_job
DataMapper 的一个克隆,我认为它适合这个,但我不清楚如何利用列出的命令。关于如何改进此代码的任何想法?
def start
say "*** Starting job worker #{@name}"
t = Thread.new do
loop do
delay = Update.work_off(self)
break if $exit
sleep delay
break if $exit
end
clear_locks
end
trap('TERM') { terminate_with t }
trap('INT') { terminate_with t }
trap('USR1') do
say "Wakeup Signal Caught"
t.run
end
end