如何在接受用户inpu后将python2.6脚本移到bashshell的后台

2024-04-20 14:25:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一个Python脚本,将SSHs放入给定子网内的每台服务器,收集正常运行时间数据,然后将数据打印到屏幕上。运行脚本所需的大部分信息都是在执行脚本时从用户提供的参数中收集的,即:

getUptime.py 192.168.150.1 /27 <options> 这个问题的两个相关选项是:

-l:将结果写入日志文件。 -s:使shell输出静音。你知道吗

一旦脚本被执行,它立即使用getpass提示用户输入密码,并且它将使用该密码访问每个服务器。你知道吗

因此,我的问题是:我希望用户能够提供-l-s标志,并且只写入日志,同时释放他们的终端以执行他们需要执行的任何其他操作。我知道这可以通过ctrl+z然后是bg来完成,但是我想在脚本中完成,而不是依赖于最终用户。你知道吗

在以前的脚本中,我只在命令文档中包含了静默标志是-s&,因此bash将从一开始就在后台运行它,但这会跳过密码提示,并使脚本挂起。在用户提供了密码之后,我需要将其移到后台,并且由于IA要求,在执行参数中提供密码是不可能的(它将在屏幕上回响,并记录在bash命令历史记录中)。你知道吗

我通过Google找到的大多数解决方案都只涉及在命令字符串中附加&;还有其他方法可以将脚本移到后台吗?我是否可以让脚本自己发送ctrl+zbg命令?你知道吗

提前感谢您的建议。你知道吗


Tags: 数据用户命令服务器脚本bash密码参数