【发布时间】:2018-06-02 21:51:42
【问题描述】:
sudo 等工具从 /dev/tty 读取密码。
我想避免这种情况。
子进程应该无法读取 /dev/tty。子进程应该立即失败,而不是永远等待输入。
我正在使用 Python 的 subprocess 模块。如果子进程尝试从 /dev/tty 读取,它应该会失败。
记住:工具sudo 只是一个例子。 sudo 的一个花哨的命令行参数并不能解决我的问题。这应该适用于所有 linux 命令行工具。
问题:如何让任何工具一想从 /dev/tty 读取(通过 Python 的 subprocess 模块调用)就失败?
背景:这是一个普通的linux用户进程,不是root。
【问题讨论】:
-
您的问题是什么?如何从
/dev/tty中删除读取权限,或者什么? -
@AndrejsCainikovs 我更新了问题。
-
也许
start_new_session=True在创建流程时可以满足您的需求? -
@mata 谢谢你这个作品!请写
start_new_session=True作为答案,我会赞成并接受它。 -
在
sudo的特定情况下,您可能只希望-n开关将 sudo 置于非交互模式。
标签: python linux terminal subprocess