2016 - 2024

感恩一路有你

python subprocess的核心用法 powershell怎么从入门到精通?

浏览量:2144 时间:2023-05-26 16:01:29 作者:采采

powershell怎么从入门到精通?

简单讲讲我的学习经验:

1)必须得找一个入门的书籍,先清楚powershell是什么,命令怎莫查,怎么用(帮我推荐powershell实战指南,这里又不是打广告,这本书我看了三遍,其中第二版看了一遍,第三版看了两遍);

2)入门学习之后,接触自己写东西,这其中有几个方向:

其一是一段时间用PS去写GUI工具,解释异常处理、function、事件、运行和判断的运作机制;

其二如果没有你懂C#或者Python的话(不要太精通满),也可以想研究再看看这两种语言跟powershell的加强在用,.例如Python可以不按照subprocess、winrm去操作powershell;

其三生克制化你的换算运维环境,如果有exchange邮件系统,就得研究什么一下exchange、AD的powershell管理单元或模块,应用到到实战,详细产品的模块熟得不能再熟之后,基本都就提升自动化运维脚本化的能力了,然后再就可以不结合上面我说的头两点,接触去写一些东西,往自动化运维工具化、平台化方面深入研究;

python怎么获取控制台打印出来的信息?

导入到subprocess模块中的Popen,PIPE,想执行fPopen(command,shellTrue,PIPEstdout).stdout

在python为什么我不能处理KeyboardInterrupt?

在Windows下在用python的subprocess.Popen修改子进程时,子进程如果是控制台程序(子系统为console的程序),便会可以继承父进程的控制台窗口

当子进程在运行时,如果没有在控制台在用CtrlC向父进程你的邮箱信号,此时要让子进程先捉捕到这个信号,倒致子进程的退出。父进程是在子进程之后捉捕到这个信号的(在python里会诱发KeyboardInterrupt极其)。

假如这时父进程和子进程一直在通信,父进程会能够得到子进程通信通道关闭的消息(例如TCP连接被对方强制破军自动关闭)

后来我在Popen的STARTUPINFO参数里加了CRATE_NEW_CONSOLE标志,认为那样也可以创建角色个新的子窗口,尽快父子进程能分开去捕获CtrlC信号,不过那就再不行,可不知道这是Windows的bug我还是subprocess模块的bug肯定系统机制本身就不不能这样

目前的好的办法是在子进程里对的处理CtrlC信号,以防意外突发意外情况

进程 subprocess 模块 powershell Popen

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。