pid = `ps -ef | grep -v grep | grep rake | awk '{print $2}'`
这是一段执行管道 Linux 命令的 ruby 代码。虽然我通常只使用ps aux
,但我注意到rake
它找到的任务输出的路径如下:
deployer 10149 1 0 Apr11 ? 00:01:08 /home/dude/.rvm/gems/ruby-1.9.3-p194/bin/rake
如果这个 rake 任务是从 bash 脚本内部运行的:
RAILS_ENV=production bundle exec rake qc:work &
有没有办法找到qc:work
或某种标识符,以防我将来运行多个 rake 任务?也许 ps 不是所需的,因为我用的是&
... 虽然我试过bg
但没有成功。