关闭stdin后,Python PDB退出

时间:2018-09-03 12:47:30

标签: python pdb dup2

stdinclose关闭dup2时,PDB立即退出。

(Pdb) list
  1  -> import os
  2     import sys
  3     
  4     print open(os.devnull, 'r+b').fileno()
  5     print sys.stdin.fileno()
  6     
  7     with open(os.devnull, 'r+b') as nullfile:
  8         os.dup2(nullfile.fileno(), sys.stdin.fileno())
  9     
 10     print "hello"
[EOF]
(Pdb) n
> /tmp/fd.py(2)<module>()
-> import sys
(Pdb) 
> /tmp/fd.py(4)<module>()
-> print open(os.devnull, 'r+b').fileno()
(Pdb) 
3
... omitted ...
-> os.dup2(nullfile.fileno(), sys.stdin.fileno())
(Pdb) 
> /tmp/fd.py(10)<module>()
-> print "hello"
(Pdb)                           <-- exits immediately
root@swift01:/tmp#

0 个答案:

没有答案