0

バックグラウンドでレーキ タスクを実行しています。(「&」を使用)。時々やめてほしいということです。だから私はこれを書いた:

pinger_pid = system "ps | grep rake | awk '{print $1}'"
puts pinger_pid
system "kill -9 #{pinger_pid}"

「真の」出力ガベージを取得しているようです! どうすればそれを削除できますか?

出力:

ERROR: garbage process ID "true".
Usage:
  kill pid ...              Send SIGTERM to every process listed.
  kill signal pid ...       Send a signal to every process listed.
  kill -s signal pid ...    Send a signal to every process listed.
  kill -l                   List all signal names.
  kill -L                   List all signal names in a nice table.
  kill -l signal            Convert between signal numbers and names.
4

1 に答える 1

1

コマンドの成功に応じて、システムは true または false を返します。

%x を使用して出力をキャプチャします。

pinger_pid = %x(ps | grep rake | awk '{print $1}')
puts pinger_pid
system 'kill', '-9', pinger_pid
于 2012-08-27T18:03:41.517 に答える