python - 关于从 zsh 中的 python 可执行文件中删除进程的问题
问题描述
zsh
尝试在后台运行进程并使用&!
快捷方式拒绝它时,我遇到了一些问题。
我既不是zsh
也不是 的专家python
,所以很可能我在这里遗漏了一些明显的东西。
可执行文件是以下python
程序,调用它test.py
(我正在使用python2.7.15
):
#!/usr/bin/env python
from __future__ import print_function
import time
for idx in range(5):
print(idx)
time.sleep(2)
with open('test.txt','w') as ofile:
ofile.write('done')
经过反复试验,我注意到以下几点:
如果我运行
./test.py &!
然后注销,则该过程不会成功完成(我通过查看文件的存在和内容来检查test.txt
);看起来它并没有被否认,并且注销会导致它停止;如果我运行
./test.py > test2.txt &!
,然后注销,它会按预期工作(同样,基于test.txt
文件的存在);如果我注释掉第二行 (
from __future__ ..
),修改print
语句,运行./test.py &!
,然后注销,它也可以按预期工作。
我错过了什么?有没有办法让 1. 工作,而不诉诸 2. 或 3.?
解决方案
推荐阅读
- batch-file - 为什么 /i 选项不能与 xcopy 命令一起使用?
- python - PRAW/Tweepy 过滤关键字
- laravel - 在 laravel 中更改所有图像的 url 和链接 href
- oracle11g - 如何通过顶点中的动态操作在区域中没有日期时隐藏区域
- css - NativeScript Playground - 未应用内置类
- c# - 打开 id 未重定向到正确的登录页面
- amazon-web-services - 无服务器框架 lambda 执行角色不匹配?
- android - 动态添加视图后,按钮 onClick 不会触发
- c++ - 在类中声明指针的静态双端队列
- dataweave - 转换数据库结果以匹配 accounts-api.raml 文件中指定的 Account 架构