0

这个红宝石“系统”给了我一个输出;在 irb 上:

system("sudo airodump-ng -w sidney wlan0")

Airodump-ng 来自 Airocrack-ng 包。

但是,红宝石“系统”不应该给我一个标准输出。问题是,正在创建一个“sh”进程,它没有输出。但是“sh”进程有一个子进程,这给了我一个我根本不希望在终端上显示的输出。

问题的第二部分,如何使用线程以及使用 ruby​​ 调用 shell 命令的不同方式(并且不显示该子进程的输出)获取该子进程的 pid?

4

2 回答 2

2

如果您不关心输出,请将其丢弃:

system("sudo airodump-ng -w sidney wlan0 >/dev/null 2>&1")

认为子进程将继承父进程的文件描述符。

于 2012-11-29T13:26:52.537 回答
1

利用

out = `sudo airodump-ng -w sidney wlan0`

相反,输出不会显示在屏幕上,而是存储out

于 2012-11-29T08:57:53.440 回答