python-3.x - 使用子进程立即退出 shell 脚本
问题描述
我在 shell 命令中有一个 while 循环:
sp = subprocess.Popen("while [ 1 ]; do say \"hello world\"; done;")
. 但是,当我发送时sp.kill()
,循环不会立即终止。相反,它完成了它正在进行的迭代,然后退出。我注意到没有循环的版本"say \"hello world\"
,将立即终止。我尝试使用 发送各种 C 代码signal
,但似乎没有任何效果。如何立即退出循环?
解决方案
我认为最好的方法是使用带有发送信号选项的kill
命令来终止进程。这不会让进程处理信号并完全终止它。还有其他发送此信号的方法。喜欢-9
SIGKILL
os.kill()
你只需要弄清楚进程的UID是什么,然后杀死它。
推荐阅读
- msbuild - MSBuild 不还原 NuGet 包
- c# - Xamarin Forms - Android 8 按钮效果
- excel - 具有多个条件的复杂数组函数
- android - 如何禁用 EditText
- r - 在 R 中转换 POSIXct 在版本 3.5.0 中产生 NA
- git - git review -s 无法正常工作
- numpy - `model.fit()` 输入而不是集合的生成器?(训练数据太大而无法存储)
- azure-pipelines - 在 VSTS 中的托管构建代理上编译 TeeChart 应用程序
- r - 循环遍历数组并将值分配给向量,给出 NULL 不正确的值
- vba - 使用字典从数组中删除重复数字