使用 Ruby 作为宿主语言,为什么会出现以下问题:
pid = Process.spawn("sudo", "ls", "-lah")
Process.wait2 pid
但是没有输出就挂了?
pid = Process.spawn("sudo", "ls", "-lah", pgroup: true)
Process.wait2 pid
最佳答案
原来一个终端只能有一个前台进程组,可以读输入写输出,处理信号。为了使上面的工作正常,你需要将它设置为前台进程组:
pid = Process.spawn("sudo", "ls", "-lah", pgroup: true)
Termios.setpgrp($stdin, pid)
Process.wait2 pid
关于linux - 为什么 sudo 在进程组内生成时不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40969920/