【发布时间】:2012-11-29 08:50:26
【问题描述】:
这个红宝石“系统”给了我一个输出;在 irb 上:
system("sudo airodump-ng -w sidney wlan0")
Airodump-ng 来自 Airocrack-ng 包。
然而,红宝石“系统”不应该给我一个标准输出。 问题是,正在创建一个“sh”进程,它没有输出。但是“sh”进程有一个子进程,这给了我一个我根本不希望在终端上显示的输出。
问题的第二部分,如何使用线程以及使用 ruby 调用 shell 命令的不同方式(并且不显示该子进程的输出)获取该子进程的 pid?
【问题讨论】:
-
我不确定这是否正是您所需要的,但尝试创建一个包装器来获取进程并在其中运行?我们以前遇到过这个问题并以这种方式解决。 SO tldp.org/LDP/abs/html/wrapper.html 上有大量示例
-
你根本不想要任何输出?
-
不,那个问题和我的不一样,答案也不一样。
标签: ruby multithreading shell stdout