GVKun编程网logo

如何在Ruby命令中并行启动(如何在ruby命令中并行启动程序)

12

在本文中,我们将为您详细介绍如何在Ruby命令中并行启动的相关知识,并且为您解答关于如何在ruby命令中并行启动程序的疑问,此外,我们还会提供一些关于css–Ruby命令行:如何通过命令行中的文本发送

在本文中,我们将为您详细介绍如何在Ruby命令中并行启动的相关知识,并且为您解答关于如何在ruby命令中并行启动程序的疑问,此外,我们还会提供一些关于css – Ruby命令行:如何通过命令行中的文本发送CTRL-C命令?、grub命令行启动系统简明教程、ruby-on-rails – redirect_to方法如何在ruby中工作、ruby-on-rails – 在ruby中如何在ruby中编写’do’方法?的有用信息。

本文目录一览:

如何在Ruby命令中并行启动(如何在ruby命令中并行启动程序)

如何在Ruby命令中并行启动(如何在ruby命令中并行启动程序)

我正在写一个terminal程序,使用ruby作为一个用C ++和Java编写的程序的启动程序,这个程序应该在分布式系统中执行。

我想在ruby中翻译这个指令:

for i in {1..40}; do ssh node$i program & #note & so that that process is detached done

这是我的ruby代码:

class Launcher # Other method that we can ignore def order(command) @nodelist.each {#Do something here} end end

我虽然关于创build一个线程池,每个线程执行该命令。 这是适当的方式吗? 正如我研究线程不能执行“执行”,因为线程共享相同的内存地址。

运行“最后的”Linux命令

为什么由exec.Start()创build的进程退出,如果它的父母被SIGINT杀死?

在PHP中使用exec命令时可能会发生权限问题

用meteor执行unix命令

用docker exec执行两个命令

在Windows上的多个处理器上如何执行线程?

用PHP exec运行powershell脚本的问题

如何传递参数来执行在Windows命令行程序从PHP?

从python运行代码具有不同于bash的权限?

PHP exec用IIS更改Windows密码

这是解决方案:

class Launcher def initialize(commands_list) #Expected to be an array of command string @commands_list = commands_list end def execute p_threads = @commands_list.map do |command| Process.detach(Process.spawn(command)) end p_threads.each(&:join) end end

你知道GNU parallel吗? 这是为了平行运行(惊喜!)。 这是由经验丰富的人开发,经过测试和尝试。 你可能只是使用它而不是重新实现它的大部分。 或者你可以看看它的手册和/或源代码,也许可以从中学习。

css – Ruby命令行:如何通过命令行中的文本发送CTRL-C命令?

css – Ruby命令行:如何通过命令行中的文本发送CTRL-C命令?

我正在尝试创建一个简单的Automator Droplet,它将把style.less文件放入其中并在其上运行以下LESS命令:

$LESSC {DROPPED_FILE} – 手表

这将监视我已经放入任何更改的文件,然后将自动更新输出的style.css

仅供参考:我使用LESS来动态编写CSS文件.更多信息是here.

基本的液滴效果很好.

>删除的文件传递给变量;为此目的:{MY_VAR}.
>我在/usr/bin/ruby​​ shell中运行一个shell脚本,如下所示系统(“lessc {MY_VAR} –watch&”)

这很好用但是我希望在退出自动贩卖应用程序时停止–watch.

LESS文档说在命令行shell中按CTRL-C快捷键以中止脚本.

但由于我不在终端窗口内(命令在后台传递),我不知道如何中止脚本.

即使在关闭automator.app之后,仍然会监视style.less文件的更改,并且相应生成的style.css仍在被重写.

所以基本上我需要在退出.app时传递abort命令.

我生成了一个简单的弹出窗口,点击它会在将另一个命令传递给终端shell后关闭应用程序.

这是我所有尝试都不能成功停止脚本的部分.

是否有与按CTRL-C命令相同的命令行功能?
我怎么把这个最好的传递到shell?

解决方法

如果您在控制台中按CTRL-C,则不会通过STDIN将其发送到您的程序. 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

您使用了系统(“lessc#{file} –watch&”),它也会返回imidietly但总是返回0.

grub命令行启动系统简明教程

grub命令行启动系统简明教程

今天倒腾服务器,修改grub.conf文件后导致系统起不来了。后来就学习了一下如何从grub命令启动。

grub引导其实挺简单的,只要简单地几步就可以了。

一、指定/boot所在的分区

复制代码 代码如下:
grub> root (hd0,0)
   
#指定第一块硬盘的第一个分区。这个root (hd[0,n],y)是可以省略的,如果省略了,我们要在kerenl 命令中指定
二、指定内核映像及根分区
复制代码 代码如下:
grub> kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/

# kernel 指令,用来指定Linux的内核,及/所在的分区
三、指定initrd.img
复制代码 代码如下:
grub> initrd /boot/initrd-2.6.11-1.1369_FC4.img
# initrd 命令行来指定initrd文件

四、启动
复制代码 代码如下:
grub>boot
#输入boot,然后敲回车就可以了


我的一个虚拟机上(SUSE10.0)的grub配置文件:
五、通过GRUB指令来引导Windows

如果我们启动Windows ,只是输入指令就行了;

比如 Windows的分区在 (hd0,0),我们在开机后,按ctrl+c ,进入GRUB的命令模式;就可以用下面的

复制代码 代码如下:

grub> rootnoverify (hd0,0)
grub> chainloader +1
grub> boot


附:GRUB启动命令详解

一、菜单命令
菜单命令只能用于grub配置文件的全局配置部分,不能用在grub命令行交互界面,菜单命令在配置文件中应放在其它命令之前。
1、default  //设置默认启动的菜单项
2、fallback  //设置启动某菜单项失败后反回的菜单项
3、hiddenmenu //隐藏菜单界面
4、timeout //设置菜单自动启动的延时时间
5、title  //开始一个菜单项
二、常规命令
常规命令可以应该于配置文件和grub命令行交互界面,可使用的常规命令有
1、bootp //通过bootp初始化网络设备
2、color //设置菜单界面的颜色
3、device //指定设备文件作为驱动器
4、dhcp //通过DHCP初始化网络设备
5、hide  //隐藏某分区
6、ifconfig //手工配置网络设备
7、pager //改变内部页程序的状态
8、partnew //新建一个主分区
9、parttype //改变分区的类型
10、password 为菜单界面设置口令
11、rarp //通过RARP初始化网络设置
12、serial //设置串口设备
13、setkey //设置键盘映射
14、splashimage //设置GRUB启动时的背景图片文件
15、termainal //选择终端类型
16、tftpserver //指定TFTP服务器
17、unhide //还原某隐藏分区
三、命令行和菜单项命令
命令行和菜单项命令可应该于GRUB配置文件的菜单项设置中,也可以用在GRUB命令交互界面。
1、bolcklist //显示某文件所在分区位置(block list notation)
2、boot //启动操作系统
3、cat //显示文件内容
4、chainloader //把启动控制权软交给另外的启动引导器
5、cmp //比较两个文件
6、configfile //加载已存在的GRUB配置文件
7、debug //设置为debug模式
8、displayapm //显示APM BIOS信息
9、displaymem //显示内存配置
10、embed //嵌入Stage 1.5文件
11、find //查找包括某文件的所有设备
12、fstest //测试文件系统
13、geometry //显示某驱动器的物理信息
14、halt //停止计算机运行(软件关机)
15、help //显示GRUB的命令帮助信息
16、impsprobe //查询对称多处理器(SMP)的信息
17、initrd //加载initrd文件
18、install //安装GRUB
19、ioprobe //查询某驱动器的输入输出(I/O)端口
20、kernel //引导操作系统内核
21、lock //锁定某GRUB导菜单项,使其输入密码后才可启动
22、makeactive //激活某主分区
23、map //虚拟映射某驱动器
24、md5crypt //使用MD5加密口令
25、module //加载模块
26、modulenounzip //加载模块不进行解压
27、pause //暂停并等待按键
28、quit //退出GRUB
29、reboot //重新启动计算机
30、read //读取内存中的内容
31、root //设置GRUB的root设备
32、rootnoverify //设备GRUB的root设备但不装载文件系统
33、savedefault //保存当前的启动菜单项为默认启动
34、setup //自动安装GRUB
35、testload //从文件系统中测试读取某文件
36、testvbe //测试VESA BIOS EXTENSION
37、uppermem //强制设置主机上位内存的大小
38、vbeprobe //查询VESA BIOS EXTENSION信息

您可能感兴趣的文章:

ruby-on-rails – redirect_to方法如何在ruby中工作

ruby-on-rails – redirect_to方法如何在ruby中工作

这是我的更新功能,当一些内容更新时,它完全转到http:// localhost:3000 / articles / 2

def update
    @article = Article.find(params[:id])
    if @article.update(article_params)
      redirect_to @article
    else
      render 'edit'
    end
  end

redirect_to @article如何工作并显示artiles / 2 /页面?

以下是我的路线

Prefix Verb   URI Pattern                  Controller#Action
     articles GET    /articles(.:format)          articles#index
              POST   /articles(.:format)          articles#create
  new_article GET    /articles/new(.:format)      articles#new
 edit_article GET    /articles/:id/edit(.:format) articles#edit
      article GET    /articles/:id(.:format)      articles#show
              PATCH  /articles/:id(.:format)      articles#update
              PUT    /articles/:id(.:format)      articles#update
              DELETE /articles/:id(.:format)      articles#destroy
welcome_index GET    /welcome/index(.:format)     welcome#index
         root GET    /                            welcome#index

解决方法

magic方法是polymorphic_url.

当你调用link_to,redirect_to等而你没有传递字符串或路由选项的散列时,Rails最终会调用这个方法.

Active Record(和Active Model兼容对象)有一个model_name类方法,它返回一个ActiveMethod :: Name对象,该对象有一堆方法可以为各种用途获取模型类的“正确”名称.

其中一个(singular_route_key)说明路径中的模型使用了什么名称.如果你在引擎中,这也会处理像命名空间这样的事情.

在最简单的情况下,归结为

@article.class.model_name.singular_route_key #=> 'article'

然后Rails通过将其与任何前缀选项和正确的后缀(‘url’,’path’等)连接起来,从而生成方法名称,最后得到一个方法名称,如article_url.然后它调用该方法(根据您的路由文件为您生成),传递文章,该文章返回本文的URL.

ruby-on-rails – 在ruby中如何在ruby中编写’do’方法?

ruby-on-rails – 在ruby中如何在ruby中编写’do’方法?

参见英文答案 > Blocks and yields in Ruby10个
我一直在Ruby中编写相同的代码模式,看起来它会受益于’do’样式的代码,但我不确定如何编写该方法.

我一直在做这种代码模式,它以相同的代码行开始和结束……

x.increment!(:step_count) # same each time
# ...then some different code each
x.update_column(:step_description,"blerg message") # same each time

我觉得它会受益于’做’这样的东西……

update_steps "blerg message" do
    # ...then some different code each
end

然后在’do’内部每次执行公共代码.

我将如何制作一个可以使用’do’的方法.

谢谢!

编辑:我认为不要关闭它是很重要的,因为我不知道要搜索’block’或’yield’.可能不知道这些术语的人最终可能会搜索“do”.

解决方法

传递一个块作为参数
def my_method(&block)
        do_something_the_same
        yield # calls whatever is inbetween "do" and "end"
    end

关于如何在Ruby命令中并行启动如何在ruby命令中并行启动程序的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于css – Ruby命令行:如何通过命令行中的文本发送CTRL-C命令?、grub命令行启动系统简明教程、ruby-on-rails – redirect_to方法如何在ruby中工作、ruby-on-rails – 在ruby中如何在ruby中编写’do’方法?的相关信息,请在本站寻找。

本文标签:

上一篇如何在Linux中存储文件创build时间(linux 文件创建时间)

下一篇从数据库中提取多个图像到PictureBox中(从数据库获取图片)