用ruby

时间:2017-09-22 14:03:57

标签: ruby shell

我使用此代码来终止具有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`

1 个答案:

答案 0 :(得分:0)

字符串未被插值。这运行cat命令:

system "kill `cat /tmp/file.pid`"

相反,您可以将其写为:

system "kill #{`cat /tmp/file.pid`}"

但是,我不清楚你为什么选择这样做而不是你的原始(工作)方法。