禁止从/ dev/tty读取

gue*_*tli 3 python linux terminal subprocess

sudo从/ dev/tty读取的工具可以读取密码.

我想避免这个.

子进程不应该能够读取/ dev/tty.子进程应立即失败,而不是等待输入.

我正在使用subprocessPython 的模块.如果子进程尝试从/ dev/tty读取,则该进程应该失败.

请记住:该工具sudo只是一个例子.sudo的一个奇特的命令行参数并没有解决我的问题.这适用于所有linux命令行工具.

问题:如果想要从/ dev/tty读取任何工具(通过Python的子进程模块调用),如何使任何工具失败?

背景:这是一个普通的linux用户进程,而不是root用户.

mat*_*ata 5

由于python3.2 Popen采用一个参数start_new_session,该参数将导致执行进程setsid()在执行子进程之前通过调用从当前控制终端分离启动.

所以你需要的就是开始这个​​过程 start_new_session=True