English 中文(简体)
鲁拜指挥线: 我如何通过指挥线的文字来发出CTRL-C指挥?
原标题:Ruby Command Line: How can I send the CTRL-C command via text in the command line?
  • 时间:2009-10-24 04:43:30
  •  标签:

我正试图制造一个简单的自动发射器投放机,使用<代码>式。 档案投放,由LESS指挥:

www.un.org/Depts/DGACM/index_french.htm

它将监测文件一的任何改动,然后自动更新产出<代码>式编码.cs。

FYI:我正在利用LESS积极撰写CSS档案。 更多信息是here

基本的辍学率非常高。

  1. The dropped file is passed into a variable; For this purpose: {MY_VAR}.
  2. I run a shell script in the /usr/bin/ruby shell as follows system("lessc {MY_VAR} --watch &")

然而,这一努力是巨大的。 我希望——在关闭汽车机上停止监视。

LESS文件指出,在指挥线上,CTRL-C捷径被击毁。

但是,由于我不是在终端窗户内(通常在背景中通过),我不知道如何绕过文字。

即使在汽车开户之后,申请也关闭了<条码>式>。 无<>/条码>文档仍在对改动进行监视,相应的生成的<条码>型.css仍在改写。

因此,我基本上需要通过护堤后撤走的指挥。

我产生了一个简单的波段,点击后将关闭以下>:,将另一个指挥部传至终端壳。

这是我所有尝试都未能阻止该文字的部分。

Is there a command line function that acts the same as pressing the CTRL-C command? How would I pass this the best to the shell?

最佳回答

如果你把CTRL-C号新闻传给你,这不会通过STDIN寄给你的节目。 Bash(或你使用的任何东西)特别对待CTRL-C。 篮子向这一进程发出信号。 在CTRL-C的情况下,这是SIGINT。 向一项方案发出信号,你无需 p。 然后,你可以向id发出信号。 要想获得援助,你就能够以废墟开始这一进程。

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

在废墟中,至少有三种不同的执行方式。

`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

您使用<条码>系统(“零件”} -watch&”,这种系统也同时回归,但总是返回。 页: 1

问题回答

Hint: What do ^C Control-Creally in子里吗?

(它没有发出特性)。

Clarification on hint: This PDF talks about signals. Note where it also talks about ^C. Your can manually send a signal as required.

当你在终点站报到时,通常会向正在运行的方案发出SIGINT信号。 你也可以在鲁比发出这些信号。 详情见:

幸福 co。

我认为,如果它得到“q”特性,那么它也会终止。





相关问题
热门标签