xfce4-terminal无法被终止且原PID对应进程消失的原因咨询
xfce4-terminal无法被终止且原PID对应进程消失的原因咨询
我在Python程序里把xfce4-terminal作为子进程启动,调用.terminate()后,终端窗口居然还在,完全没被关掉。我试着用更粗暴的方式杀它,结果发现对应的PID进程居然已经不存在了……这简直像古老又诡异的黑魔法,你自己看看这段Python交互代码:
>>> import subprocess >>> proc=subprocess.Popen(["xfce4-terminal"]) >>> #you should see the terminal is started... >>> proc.terminate() >>> #it is still there, alive and kicking... >>> import os >>> os.kill(proc.pid, 9) #let's try something more radical (SIGKILL) Traceback (most recent call last): File "<stdin>", line 1, in <module> ProcessLookupError: [Errno 3] No such process >>> # WTF???
我好奇是不是Python subprocess的问题,于是在bash里也复现了一遍,结果发现跟Python完全没关系:
(base) [matias@kashyyyk bec]$ xfce4-terminal & [1] 167148 (base) [matias@kashyyyk bec]$ kill 167148 bash: kill: (167148) - No such process
(终端窗口依然好好地开着)
我现在完全搞不懂了,这到底是怎么回事?
备注:内容来源于stack exchange,提问作者mguijarr
相关产品推荐
相关产品推荐

