So, we (Davidlohr Bueso and I) decided to write a new implementation from scratch. The new implementation is based on the same concept like findmnt(8), lsblk(8) etc. It means that you can control output columns and output format.
# lslocks COMMAND PID TYPE SIZE MODE M START END PATH iscsiuio 1043 POSIX 5B WRITE 0 0 0 /run/iscsiuio.pid iscsid 1051 POSIX 5B WRITE 0 0 0 /run/iscsid.pid crond 1076 POSIX 5B WRITE 0 0 0 /run/crond.pid libvirtd 1264 POSIX 4B WRITE 0 0 0 /run/libvirtd.pid (unknown) 1304 FLOCK 0B WRITE 0 0 0 /run tracker-store 2088 POSIX 6.7M READ 0 1073741826 1073742335 /home/kzak/.cache/tracker/meta.db tracker-store 2088 POSIX 32K READ 0 128 128 /home/kzak/.cache/tracker/meta.db-shm tracker-miner-f 2089 POSIX 6.7M READ 0 1073741826 1073742335 /home/kzak/.cache/tracker/meta.db tracker-miner-f 2089 POSIX 32K READ 0 128 128 /home/kzak/.cache/tracker/meta.db-shm firefox 17151 POSIX 0B WRITE 0 0 0 /home/kzak/.mozilla/firefox/zf4j57bz.de firefox 17151 POSIX 416K READ 0 1073741826 1073742335 /home/kzak/.mozilla/firefox/zf4j57bz.de firefox 17151 POSIX 20M READ 0 1073741826 1073742335 /home/kzak/.mozilla/firefox/zf4j57bz.de firefox 17151 POSIX 32K READ 0 128 128 /home/kzak/.mozilla/firefox/zf4j57bz.de firefox 17151 POSIX 1.5M READ 0 1073741826 1073742335 /home/kzak/.mozilla/firefox/zf4j57bz.de firefox 17151 POSIX 32K READ 0 128 128 /home/kzak/.mozilla/firefox/zf4j57bz.de firefox 17151 POSIX 416K WRITE 0 1073741824 1073742335 /home/kzak/.mozilla/firefox/zf4j57bz.de java 25348 POSIX 0B WRITE 0 0 0 /opt/xmind/Commons/configuration/org.ec java 25348 POSIX 0B WRITE 0 0 0 /opt/xmind/Commons/configuration/org.ec java 25348 POSIX 0B WRITE 0 0 0 /opt/xmind/Commons/configuration/org.ec java 25348 POSIX 0B WRITE 0 0 9223372036854775806 /opt/xmind/Commons/data/workspace-cathy atd 3348 POSIX 5B WRITE 0 0 0 /run/atd.pid sendmail 3400 POSIX 33B WRITE 0 0 0 /run/sendmail.pid sendmail 3419 POSIX 49B WRITE 0 0 0 /run/sm-client.pidSelect process:
# lslocks --pid $(pidof crond) COMMAND PID TYPE SIZE MODE M START END PATH crond 1076 POSIX 5B WRITE 0 0 0 /run/crond.pidor use it in scripts:
for x in $(lslocks -rn -o PID); do kill $x; done
lslocks(1) will be available in util-linux 2.22 (now -rc1).
I did not read the code. Could you explain how the tool enumerates locks and obtains the lock details? Does it traverse /proc/*/fd and then call some magical IOCTL?
ReplyDeleteSee /proc/locks, nothing magical ;-)
DeleteThanks, Sir, for the help, it is so appreciated.
ReplyDeleteThank you very much dear teacher for this nice sharing.
ReplyDeleterugby world cup live stream free
I can't thank you enough for the exceptional content you consistently produce. Your work has been a source of inspiration and knowledge for me.rugby world cup live stream free
ReplyDeleteThanks for sharing this amazing guide, you can visit my website to watch aus open online
ReplyDeleteGreat to see a new implementation of the lslck command! The added flexibility of controlling output columns and formats is a welcome improvement. Kudos to Davidlohr Bueso and you for reviving this essential tool.
ReplyDeleteRegards,
Dr. Maetreyii Yoga Ma
Excited to see lslocks breathe new life into file locking management with modern flexibility and enhanced features!
ReplyDeleteRegards,
Top Resume Write