Not only is
ps not to be trusted for reasons of absolute vs relative path; you can also launch
vi with no file specified, then open the file from the editor, leaving no indication of it in the process list.
Besides ++
wog's excellent suggestions, you may also want to look at
man fuser. (It seems that this command is more available; I have it on my box, but don't have
lsof. If the latter doesn't work for you,
fuser may be it.)