Rubyコマンドライン:どうを送りたいので、CTRL-Cコマンドに示された程度のパフォーマンスのコマンドがかかってしまいます。

StackOverflow https://stackoverflow.com/questions/1616982

質問

私が作り出してしまおうというもの簡単なオートメーター液滴の style.less ファイルに落とし込むので、以下の以下のコマンドかれています。

$ LESSC {DROPPED_FILE} --watch

るモニターのファイルにしていま落としたための変更やその後、自動的に更新を出力 style.css

参考:私は使用して動的に書くCSSファイルです。詳細情報は こちらの.

の基本的な液滴の作品です。

  1. を落としたファイルを渡された変数;この目的: {MY_VAR}.
  2. しかったシェルスクリプトの /usr/bin/ruby シェルとして以下の system("lessc {MY_VAR} --watch &")

この作品もじゃなくてもいいと思うんだけどの見が注目を集めるきっかけとなった時も辞めのオートメーターアプリです。

の文書は、CTRL-Cショートカットのシェルコマンドラインを中止します。

でもないので、ターミナル内のウィンドウ(コマンドの継承ができていて、背景)わからないのに中止します。

後もオートメーター.アプリを終了し、 style.less ファイルが見の変化に対応し、生成され style.css れているのを書き換える。

のではないでしょうかんに合格する必要があり、abortコマンドの出口ます。アプリです。

って発生する簡単なポップアップをクリックすると、エフェクトのアプリ 格別のコマンド端末へのシェルです。

これが、すべて私のもうとして失敗を止めるます。

あるコマンドラインに機能する為のものと同じCTRL-Cコマンド?そこまでは、この最高のシェル?

役に立ちましたか?

解決

ボタンを押すCTRL-Cコンソールで、この送信は行わないよSTDINおprogramm.Bashはどんどん利用)テCTRL-Cます。のbashに送信号のです。の場合はCTRL-C SIGINT.シグナルを送るにはプログラムが必要でpidです。その後に送ることができ、信号のpidです。を取得することができpidを開始できるプロセスのrubyなどがある。

p= IO.popen("lessc #{file} --watch")
pid= p.pid
Process.kill("INT", pid)

Rubyが少なくとも3つの異なる方法で、実行さい。

`lessc #{file} --watch` # returns stdout after exit
system("lessc #{file} --watch") # returns the integer return value after exit
Io.popen("lessc #{file} --watch") # returns imidietly an io object, where STDIN and STDOUT can be written and read

使 system("lessc #{file} --watch&") るものを返しますimidietlyにとらわれず、常に0を返します。

他のヒント

ヒント:何^C 制御-C 本当に いる。

(なお送りにくいのです。

明ヒント: この PDFつの信号.注の場でも話^C.お手動で送信しています。

を押す^C端子が正常に送のSIGINT信号のプログラムが走っています。に送ることができこれらの信号をRubyです。りに関する情報とプロセスは、送信信号のルビー: http://whynotwiki.com/Ruby_/_Process_management.

嬉しい符号といいます。

も終了を受けた場合には、"q"の文字になると思います。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top