像sudo这样的工具读取/dev/tty来读取密码。
我想避免这种情况。
子进程应该不能读取/dev/tty。子流程应该立即失败,而不是永远等待输入。
我使用的是Python的subprocess模块。如果该子进程尝试从/dev/tty读取数据,则该子进程将失败。
请记住:工具sudo只是一个示例。对sudo使用花哨的命令行参数并不能解决我的问题。这应该适用于所有linux命令行工具。
问:如何让任何工具在读取/dev/tty (通过Python的subprocess模块调用)时立即失败?
背景:这是一个普通的linux用户进程,不是根进程。
发布于 2017-12-20 19:32:44
由于python3.2 Popen带有一个参数start_new_session,这将导致执行的进程在执行子进程之前通过调用setsid()与当前控制终端分离。
因此,您需要做的就是使用start_new_session=True启动该进程
https://stackoverflow.com/questions/47904293
复制相似问题