我使用此代码来终止具有PID文件的进程:
Process.kill 15, File.read('/tmp/pidfile').to_i
但是当我尝试时,以下两个例子永远不会起作用:
system "kill `cat /tmp/file.pid`"
或
`kill \`cat /tmp/pidfile\``
输出是:
sh: 1: kill: Usage: kill [-s sigspec | -signum | -sigspec] [pid | job]... or
kill -l [exitstatus]
背板有问题吗?因为在bash中这很有效:
kill `cat /tmp/file.pid`
答案 0 :(得分:0)
字符串未被插值。这不运行cat
命令:
system "kill `cat /tmp/file.pid`"
相反,您可以将其写为:
system "kill #{`cat /tmp/file.pid`}"
但是,我不清楚你为什么选择这样做而不是你的原始(工作)方法。