This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Erroneous unclosed file warning
Type: Stage:
Components: Versions: Python 3.2, Python 3.3
process
Status: closed Resolution: not a bug
Dependencies: Superseder:
Assigned To: Nosy List: giampaolo.rodola, pitrou
Priority: normal Keywords:

Created on 2011-10-19 18:53 by giampaolo.rodola, last changed 2022-04-11 14:57 by admin. This issue is now closed.

Messages (3)
msg145936 - (view) Author: Giampaolo Rodola' (giampaolo.rodola) * (Python committer) Date: 2011-10-19 18:53
/opt/python3.2/lib/python3.2/site-packages/psutil/_pslinux.py:389: ResourceWarning: unclosed file <_io.FileIO name=7 mode='rb'>
  return [x for x in f.read().split('\x00') if x]

I get this while running tests.
The method in question is defined as such:

    @wrap_exceptions
    def get_process_cmdline(self):
        f = open("/proc/%s/cmdline" % self.pid)
        try:
            # return the args as a list
            return [x for x in f.read().split('\x00') if x]
        finally:
            f.close()

...therefore, I'm closing the file object (in the finally block).
msg145938 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2011-10-19 19:06
Since the "name" is 7, it's certainly another file than the one opened in:
        f = open("/proc/%s/cmdline" % self.pid)

It could be that you called open on the result of os.pipe(), or perhaps you used a subprocess and didn't call communicate() or close() on it.
msg145992 - (view) Author: Giampaolo Rodola' (giampaolo.rodola) * (Python committer) Date: 2011-10-19 23:31
Indeed you were right.
Thanks.
History
Date User Action Args
2022-04-11 14:57:22adminsetgithub: 57431
2011-10-19 23:31:52giampaolo.rodolasetmessages: + msg145992
2011-10-19 19:06:38pitrousetstatus: open -> closed
resolution: not a bug
messages: + msg145938
2011-10-19 18:53:48giampaolo.rodolacreate