PFILES(1)
β¨ PFILES β the manual page, but make it a group chat β¨
okay bestie, welcome to pfiles, a General Commands Manual moment π
this one's all about reporting open file information. yes, peeking inside a process and seeing literally every file it's got open. it's giving detective energy πβ¨
π SYNOPSIS π
pfiles [-n] [pid | core]...
that's the whole vibe. one optional flag, then a list of pids or core files, go wild π«Ά
π DESCRIPTION π
okay so here's the tea β β pfiles prints fstat(2) and fcntl(2) information for all the open files in each process or process core file you hand it. all of them. no crumbs left behind π
for network endpoints, it gives you local address info plus peer address info when the thing is actually connected. for sockets specifically, you get the socket type, the socket options, and the send and receive buffer sizes. full socket lore, no gatekeeping πΈ
it also prints a path to the file when that info is available from /proc/pid/fd β and heads up bestie, that is not necessarily the same name that was used to open the file. sneaky little detail, ik π
AND THAT'S NOT ALL (it never is) β it also prints the current soft and hard RLIMIT_NOFILE limits and the process umask. check proc(5) for more info on all of that β¨
π OPTIONS π
-nβ sets non-verbose mode. it does not display verbose information for each file descriptor. instead, it limits output to only the information that the process would retrieve by applyingfstat(2)to each of its file descriptors. short and sweet, lowkey minimalist era π
π¦ OPERANDS π¦
pidβ a process ID list. you can also use a/proc/pidpath, which means shell expansions like/proc/*totally work and will target all processes on the system. chaos mode: unlocked π₯coreβ a process core file, as produced bysystemd-coredump(8), or an Ubuntu/Debian apport.crashfile. for systemd core files, the file does not need to exist on disk β if it's been removed, the corresponding systemd journal entry gets used instead. see NOTES below, bestie, it matters π
π EXIT STATUS π
0on success π- non-zero if an error occurs β like no such process, permission denied, or invalid option. we've all been there π
π FILES π
/proc/pid/*β process information and control files. the whole/procsituation, iconic as always π
πΈ NOTES πΈ
when a core file has been removed by systemd-tmpfiles(8) or by storage limits configured in coredump.conf(5), the systemd-coredump(8) journal entry for the crash may still be available. in that case you can pass the path to the deleted core file as the core operand even though the file no longer exists on disk, and the process metadata will be retrieved from the journal entry instead. it's giving "gone but not forgotten" π§β¨
use coredumpctl(1) to get the path of a missing core file, like this:
coredumpctl list <name> -F COREDUMP_FILENAME
also supported: Ubuntu/Debian apport .crash files π«Ά these use Debian control syntax with base64-encoded gzip core dumps. the text fields (such as ProcCmdline, ProcEnviron, and ExecutablePath) get mapped to COREDUMP_* fields, and the core dump is extracted on first access. first access, babes, that's when the magic happens β
π SEE ALSO π
fstat(2), fcntl(2), coredumpctl(1), proc(5)
okay that's the whole page, you ate that π now go forth and inspect some file descriptors, bestie. no cap, it's genuinely useful.
mwah π this was pfiles version 0.2.23, from September 2026 β written by the General Commands Manual girlies, and lovingly retold to you with maximum sparkle. periodt.
π¦ where this page comes from
- fedora 44: ptools 0.2.23-1.fc44 Β· Apache-2.0 AND MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms