这个红宝石'系统'给了我一个输出;在irb:
system("sudo airodump-ng -w sidney wlan0")
Airodump-ng来自Airocrack-ng软件包。
然而,红宝石“系统”不应该给我一个标准。 问题是,正在创建一个“sh”进程,它没有输出。但是“sh”进程有一个子进程,它给了我一个我根本不想在我的终端上显示的输出。
问题的第二部分,我怎样才能获得该子进程的pid,使用线程以及使用ruby调用shell命令的不同方式(并且不显示该子进程的输出)?
答案 0 :(得分:2)
如果您不关心输出,请将其删除:
system("sudo airodump-ng -w sidney wlan0 >/dev/null 2>&1")
我认为子进程将继承父进程的文件描述符。
答案 1 :(得分:1)
使用
out = `sudo airodump-ng -w sidney wlan0`
相反,输出不会显示在屏幕上,而是存储在out
中