lsfd: introduce -Q option for generic filtering
Examples:
# ./lsfd -Q "(FD <= 9) and (TYPE == 'SOCK')" -Q "COMMAND == 'ssh'" | head
COMMAND PID USER ASSOC MODE TYPE SOURCE MNTID INODE NAME
ssh 153907 root 4 rw- SOCK sockfs 9
2450021 TCP:[
2450021]
ssh
1657696 root 4 rw- SOCK sockfs 9
64357645 TCP:[
64357645]
ssh
1657696 root 5 rw- SOCK sockfs 9
64363596 UNIX:[
64363596]
ssh
2345473 root 4 rw- SOCK sockfs 9
81978848 TCP:[
81978848]
ssh
2345473 root 5 rw- SOCK sockfs 9
81980736 UNIX:[
81980736]
ssh
2345473 root 9 rw- SOCK sockfs 9
81980737 UNIX:[
81980737]
ssh
2345475 root 4 rw- SOCK sockfs 9
81975091 UNIX:[
81975091]
ssh
3958804 root 0 rw- SOCK sockfs 9
87840900 UNIX:[
87840900]
ssh
3958804 root 4 rw- SOCK sockfs 9
87836642 TCP:[
87836642]
# ./lsfd -Q "((ASSOC == 'exe') || (ASSOC == 'pid')) and (USER == 'yamato')"
COMMAND PID USER ASSOC MODE TYPE SOURCE MNTID INODE NAME
lsfd 690292 yamato exe --- REG dm-2 0
34474245 /home/yamato/var/util-linux/util-linux/.libs/lsfd
lsfd 690292 yamato pid --- REG nsfs 0
4026531836 pid:[
4026531836]
pidns
1458677 yamato exe --- REG dm-2 0
34212178 /home/yamato/var/kernel-essential-training/container/pidns
pidns
1458677 yamato pid --- REG nsfs 0
4026533715 pid:[
4026533715]
fd-catalog
1677961 yamato exe --- REG dm-2 0
128715536 /home/yamato/var/fd-catalog/fd-catalog (deleted)
fd-catalog
1677961 yamato pid --- REG nsfs 0
4026531836 pid:[
4026531836]
Signed-off-by: Masatake YAMATO <yamato@redhat.com>