லினக்ஸில் ஒரு செயல்முறைக்கான திறந்த கோப்புகளை எவ்வாறு பட்டியலிடுவது

ஒரு செயல்முறைக்கு 'lsof' கட்டளையைப் பயன்படுத்துவதற்கான வழிகாட்டி

நீங்கள் லினக்ஸ் அல்லது யூனிக்ஸ் சிஸ்டங்களை அடிக்கடி பயன்படுத்துபவராக இருந்தால், "லினக்ஸில் எல்லாம் ஒரு கோப்பு" என்ற சொற்றொடரை நீங்கள் நிச்சயமாகக் கேட்டிருக்க வேண்டும். இது கருத்தின் மிகைப்படுத்தல் என வகைப்படுத்தலாம், ஆனால் லினக்ஸ் அமைப்பில் உள்ள கோப்புகள் எவ்வாறு செயல்படுகின்றன என்பதைப் புரிந்துகொள்ள இது மிகவும் உதவியாக இருக்கும்.

லினக்ஸ் சூழலில் தோன்றும் அனைத்தும் ஒரு கோப்பாக இருக்க வேண்டியதில்லை. சில நேரங்களில் இது ஒரு செயல்முறையாக இருக்கலாம், வன்பொருள் தகவல், கோப்பகங்கள் மற்றும் பிற விஷயங்களைக் குறிக்கும் சிறப்புக் கோப்பாக இருக்கலாம்.

இந்த பயிற்சியானது லினக்ஸில் ஒரு குறிப்பிட்ட செயல்முறைக்காக திறந்திருக்கும் அனைத்து கோப்புகளையும் கண்டறியும்.

அறிமுகம் lsof கட்டளை

லினக்ஸ் அமைப்பின் அழகு என்னவென்றால், நீங்கள் கட்டளைகளை நன்கு அறிந்திருந்தால், டெர்மினல் மூலம் உங்கள் முழு கணினியையும் கட்டுப்படுத்தலாம் மற்றும் நிர்வகிக்கலாம். கட்டளைகள் தெரிந்தவுடன் டெர்மினலில் உள்ள அனைத்து பணிகளும் கேக்வாக் ஆகிவிடும்.

lsof குறிக்கிறது 'திறந்த கோப்புகளின் பட்டியல்‘. கட்டளையின் நீண்ட பதிப்பை நீங்கள் அறிந்தவுடன், கட்டளையைப் புரிந்துகொள்வது மற்றும் உற்பத்தி வழியில் பயன்படுத்துவது மிகவும் எளிதானது.

தி lsof கட்டளை திறந்த கோப்புகள், சாக்கெட்டுகள் மற்றும் குழாய்களின் பட்டியலைக் காட்டுகிறது. இந்தக் கட்டளையைப் பயன்படுத்தி திறந்த கோப்புகளை எளிதாகத் தேடலாம். எப்பொழுது lsof எந்த விருப்பமும் இல்லாமல் கட்டளை பயன்படுத்தப்படுகிறது, இது இயங்கும் செயலில் உள்ள செயல்முறைகளைப் பொறுத்து அனைத்து திறந்த கோப்புகளையும் காட்டுகிறது.

குறிப்பு: பயன்படுத்துவதை உறுதி செய்து கொள்ளுங்கள் சூடோ கட்டளைகளை இயக்கும் போது.

பயன்படுத்தி lsof கட்டளை

இன் வெளியீட்டைப் படிப்போம் lsof விரிவான கட்டளை. பின்வரும் கட்டளையைப் படிக்கவும்.

sudo lsof | குறைவாக

குறிப்பு: நாம் நேரடியாக இயக்கினால் lsof கட்டளை, வெளியீடு மிகப் பெரியதாக இருக்கும், மேலும் தொடர குழப்பத்தை உருவாக்கலாம். எனவே, இங்கே நான் பயன்படுத்தினேன் lsof | குறைவாக டுடோரியலின் வசதிக்காக கட்டளை.

வெளியீடு:

gaurav@ubuntu:~$ sudo lsof | குறைவான COMMAND PID TID பயனர் FD வகை சாதனத்தின் அளவு/ஆஃப் நோட் பெயர் kdevtmpfs 31 ரூட் cwd DIR 0,6 4400 2 / kdevtmpfs 31 ரூட் rtd DIR 0,6 4400 2 / kdevtmpfs/t31 ரூட் 2000/2013 DIR 8,8 4096 2 / netns 32 ரூட் rtd DIR 8,8 4096 2 / netns 32 ரூட் txt தெரியவில்லை /proc/32/exe rcu_tasks 33 ரூட் cwd DIR 8,8 4096 2 / rcu_tasks 2 / rcu_8 / rcu_tasks 33 ரூட் txt தெரியவில்லை /proc/33/exe kauditd 34 ரூட் cwd DIR 8,8 4096 2 / kauditd 34 ரூட் rtd DIR 8,8 4096 2 / kauditd 34 ரூட் txt தெரியவில்லை/proc/34 

பின்வரும் பண்புகளை பயன்படுத்தி காட்டப்படும் lsof கட்டளை.

அளவுருவிளக்கம்
கட்டளைகோப்பைத் திறக்கும் கட்டளையின் பெயரைக் காட்டுகிறது.
PIDகோப்பைத் திறக்கும் செயல்முறையின் அடையாளங்காட்டி எண்.
டிஐடிநூல் அடையாளங்காட்டி எண். இது நூல் அல்லது பணி எண்ணாக இருக்கலாம்.
பயனர்பயனர் ஐடி அல்லது செயல்முறையின் உரிமையாளராக இருக்கும் பயனரின் பெயர்.
FDகோப்பின் கோப்பு விளக்கத்தைக் காட்டுகிறது.
வகைகோப்புடன் தொடர்புடைய முனையின் வகை.
சாதனம்சாதன எண்களைக் காட்டுகிறது.
அளவு/ஆஃப்பைட்டுகளில் கோப்பின் அளவைக் காட்டுகிறது.
முனைஐனோட் எண்ணை அடைவு அல்லது பெற்றோர் கோப்பகத்தைக் காட்டுகிறது.
பெயர்செயல்முறை அமைந்துள்ள கோப்பு முறைமையின் பெயரைக் காட்டுகிறது.

செயல்முறைகளை பட்டியலிடுதல்

முதலாவதாக, நீங்கள் இயங்கும் செயல்முறைகள் மற்றும் அந்தந்த செயல்முறை ஐடிகளைப் பெறுவது முக்கியம். PID, பயனர், அடைவு போன்ற பண்புகளுடன் செயல்முறைகளை பட்டியலிட Linux பல்வேறு கட்டளைகளை வழங்குகிறது.

போன்ற கட்டளைகளைப் பயன்படுத்தலாம் மேல், ps, htop, pstree முனையத்தில் செயல்முறைகளை பட்டியலிட.

பயிற்சி முழுவதும், நான் பயன்படுத்துவேன் மேல் அவ்வாறு செய்ய கட்டளை. தி மேல் கட்டளை இயங்கும் கணினியின் மாறும் நிகழ்நேர காட்சியை வழங்குகிறது. இது தற்போது லினக்ஸ் கர்னலால் நிர்வகிக்கப்படும் அனைத்து செயல்முறைகள் மற்றும் நூல்களையும் காட்டுகிறது. இன் வெளியீட்டைச் சரிபார்க்க கீழே கொடுக்கப்பட்டுள்ள தொகுதியைப் படிக்கவும் மேல் கட்டளை.

தொடரியல்:

சூடோ டாப்

வெளியீடு:

கவுரவ் @ உபுண்டு: ~ $ சூடோ மேல் PID என்பது USER என்பவர் பிஆர் NI virt ரெஸ் SHR எஸ்% சிபியு% MEM டைம் + Command 2703 கவுரவ் 20 0 4286124 1.142g 103584 ஆர் 88.2 30.5 87: 48,08 வலை உள்ளடக்கம் 1173 MongoDB 20 0 288536 6776 3428 எஸ் 5.9 0.2 2: 34,41 mongod 13765 கவுரவ் 20 0 2931568 131408 47496 S 5.9 3.3 1: 42,34 வலை உள்ளடக்கம் 1 ரூட் 20 0 225904 6824 4900 எஸ் 0.0 0.2 0: 27,25 systemd 2 ரூட் 20 0 0 0 0 S 0.0 0.0 0: 00,05 kthreadd 4 ரூட் 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H 6 ரூட் 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_wq 7 ரூட் 20 0 0 0 0 S 0.0 0.0 0:00 ரூட் 1.89 0:08 0 0 I 0.0 0.0 0:22.32 rcu_sched 9 ரூட் 20 0 0 0 0 I 0.0 0.0 0:00.00 rcu_bh 10 ரூட் rt 0 0 0 0 S 0.0 0.0 0:03/013 மிகி 

மேலே உள்ள பிளாக்கில், செயல்முறை தொடர்பான அனைத்து தகவல்களையும் ஒரே இடத்தில் பார்க்கலாம். இங்கிருந்து நாம் கண்டுபிடிக்கலாம் PID இந்த செயல்முறையின் மூலம் திறந்த கோப்புகளை நாம் காண்பிக்க வேண்டும் lsof கட்டளை.

ஆனால் நீங்கள் ஒரு குறிப்பிட்ட செயல்முறையின் செயல்முறை ஐடியை மட்டும் கண்டுபிடித்து மற்ற தேவையற்ற செயல்முறைகளைத் தவிர்க்க விரும்பினால், பின்வரும் கட்டளையைப் பயன்படுத்தவும்.

தொடரியல்:

சூடோ டாப் | grep [Process_Name]

உதாரணமாக:

gaurav@ubuntu:~$ top | 53,63 க்னோம் terminal- 13819 கவுரவ் 20 0 803336 19728 9160 S 1.0 0.5 0: 53,66 க்னோம் terminal- 13819 கவுரவ் 20 0 803336 19728 9160 S 0.3 0.5 0: 53,67 முதுமொழி grep முனையத்தில் 13819 கவுரவ் 20 0 803336 19728 9160 0,3 0,5 0 S -டெர்மினல்- gaurav@ubuntu:~$

செயல்முறையின் பெயரில் 'டெர்மினல்' என்ற சரத்தைக் கொண்ட செயல்முறையின் செயல்முறை ஐடியை இங்கே நாங்கள் குறிப்பாகக் காட்டியுள்ளோம். முழுமையான செயல்முறைப் பெயர் அல்லது PID பற்றி உங்களுக்குத் தெரியாதபோது இந்த முறை பயனுள்ளதாக இருக்கும்.

PID ஐப் பயன்படுத்தி ஒரு செயல்முறையுடன் தொடர்புடைய திறந்த கோப்புகளைக் காண்பித்தல்

மேலே உள்ள தொகுதியில், மேல் கட்டளையின் உதவியுடன் செயல்முறை தொடர்பான தகவல்களை எவ்வாறு பெறுவது என்பதை நாங்கள் கற்றுக்கொண்டோம். இப்போது நாம் பயன்படுத்துவோம் PID கணினியில் உள்ள எந்த செயல்முறைக்கும் தொடர்புடையது மற்றும் அந்த செயல்முறையுடன் தொடர்புடைய திறந்த கோப்புகளின் பட்டியலைப் பயன்படுத்தி காண்பிக்க முயற்சிக்கவும் lsof கட்டளை.

மேலே கொடுக்கப்பட்ட வெளியீட்டில் இருந்து, முன்னிலைப்படுத்தப்பட்ட PID 1173 உடன் தொடர்புடைய செயல்முறையை எடுத்துக்கொள்வோம். நாங்கள் பயன்படுத்துவோம் lsof -p [PID] அவ்வாறு செய்ய கட்டளை.

தொடரியல்:

sudo lsof -p [PID]

இந்த கட்டளை செயல்முறையின் PID ஐ உள்ளீடாக எடுத்து, இந்த PID உடன் தொடர்புடைய அனைத்து கோப்புகளையும் பட்டியலிடுகிறது.

வெளியீடு:

gaurav@ubuntu:~$ sudo lsof -p 1173 lsof: எச்சரிக்கை: stat() fuse.gvfsd-fuse கோப்பு முறைமை /run/user/1000/gvfs வெளியீட்டுத் தகவல் முழுமையடையாமல் இருக்கலாம். COMMAND PID பயனர் FD வகை சாதனத்தின் அளவு/ஆஃப் நோட் பெயர் mongod 1173 mongodb cwd DIR 8,8 4096 2 / mongod 1173 mongodb rtd DIR 8,8 4096 2 / 83d/mongod 1173 mongodb mem REG 8,8 71776 2624380 /lib/x86_64-linux-gnu/libnss_myhostname.so.2 mongod 1173 mongodb mem REG 8,8 10776 2624168 mem REG 8,8 26936 2624439 /lib/x86_64-linux-gnu/libnss_dns-2.27.so mongod 1173 mongodb mem REG 8,8 10160 2626002 8,8 47568 262441 lib/x86_64-linux-gnu/libc-2.27.so mongod 1173 mongodb mem REG 8,8 144976 2624627 /lib/x86_64-linux-gnu/libpthread-2.327 x86_64-linux-gnu/libgcc_s.so.1 mongod 1173 mongodb me மீ REG 8,8 1700792 2622735 /lib/x86_64-linux-gnu/libm-2.27.so mongod 1173 mongodb mem REG 8,8 14560 2621535 /lib/linu26_b. 8,8 31680 2624646 /lib/x86_64-linux-gnu/librt-2.27.so mongod 1173 mongodb mem REG 8,8 2357760 2890079 /usr/lib/lib/x86_60 :~$

செயல்முறை ஐடி 1713 உடன் செயல்பாட்டிற்காக திறக்கப்பட்ட கோப்புகள் இதைப் பயன்படுத்தி காட்டப்படும் lsof கட்டளை.

குறிப்பு: க்னோம் பயனர்கள் பின்வரும் எச்சரிக்கையை சந்திக்கலாம். நீங்கள் அதை பாதுகாப்பாக புறக்கணிக்கலாம்.

lsof: எச்சரிக்கை: முடியாது stat() fuse.gvfsd-fuse கோப்பு முறைமை /run/user/1000/gvfs வெளியீடு தகவல் முழுமையடையாமல் இருக்கலாம்.

செயல்முறைப் பெயரைப் பயன்படுத்தி ஒரு செயல்முறையுடன் தொடர்புடைய திறந்த கோப்புகளை பட்டியலிடுதல்

தி lsof செயல்முறைகளின் பெயர்களைப் பயன்படுத்தி திறந்த கோப்புகளை பட்டியலிடுவதற்கான விருப்பத்தையும் கட்டளை உங்களுக்கு வழங்குகிறது. பெயர்கள் கட்டளைக்கு உள்ளீடு சரமாக வழங்கப்பட வேண்டும். இந்த விருப்பத்தைப் பயன்படுத்த கீழே உள்ள தொடரியல் பார்க்கவும்.

தொடரியல்:

sudo lsof -c [செயல்முறை பெயர்]

உதாரணமாக:

sudo lsof -c mysql

வெளியீடு:

gaurav@ubuntu:~$ sudo lsof -c mysql lsof: எச்சரிக்கை: stat() fuse.gvfsd-fuse கோப்பு முறைமை /run/user/1000/gvfs வெளியீட்டுத் தகவல் முழுமையடையாமல் இருக்கலாம். COMMAND PID பயனர் FD வகை சாதனத்தின் அளவு/ஆஃப் நோட் பெயர் mysqld 1266 mysql cwd DIR 8,8 4096 3154135 /var/lib/mysql mysqld 1266 mysql rtd /mysql mysqld 1266 mysql rtd /4t DIR 861 8266 mysql rtd 4098,861 /sbin/mysqld mysqld 1266 mysql mem REG 8,8 6288 5505444 /usr/lib/mysql/plugin/auth_socket.so mysqld 1266 mysql DEL REG 0,18 REG 0,18 REG 0,18 REG aio] mysqld 1266 mysql DEL REG 0,18 28125 /[aio] mysqld 1266 mysql mem REG 8,8 47568 2624441 /lib/x86_64-linux-gnu/libnss2 /lib/x86_64-linux-gnu/libnss281 mysql2 lib/x86_64-linux-gnu/libnss_nis-2.27.so mysqld 1266 mysql mem REG 8,8 39744 2624438 /lib/x86_64-linux-gnu/libnss_compat-2.27. 

செயல்பாட்டின் பெயருக்குப் பதிலாக செயல்முறை ஐடி பயன்படுத்தப்பட்டதைப் போலவே வெளியீடு இருக்கும்.

பிணைய இணைப்புகளால் திறக்கப்பட்ட கோப்புகளின் பட்டியல்

Linux இல், உங்கள் பிணைய இணைப்புகள், வன்பொருள் இணைப்புகள் போன்றவற்றைப் பற்றிய தகவலின் வடிவத்திலும் கோப்புகள் இருக்கலாம். நாங்கள் பயன்படுத்தலாம் lsof பிணைய இணைப்பு மூலம் திறக்கப்பட்ட கோப்புகளை பட்டியலிட கட்டளை. பின்வரும் முறையைப் பயன்படுத்தவும்.

sudo lsof -i

வெளியீடு:

gaurav@ubuntu:~$ sudo lsof -i COMMAND PID பயனர் FD வகை சாதனத்தின் அளவு/ஆஃப் நோட் பெயர் systemd-r 969 systemd-resolve 12u IPv4 17357 0t0 UDP லோக்கல் ஹோஸ்ட்:டொமைன் systemd-r37tho systemd-r 960 டொமைன் (கேளுங்கள்) systemd-r 969 systemd-resolve 15u IPv4 1685575 0t0 UDP ubuntu:48090->_gateway:domain avahi-dae 1028 avahi 12u IPv4 23810 UIP301 avahi-அணுசக்தித் துறை 1028 avahi 14u, IPv4 23812 0t0 யுடிபி *: 58999 avahi-அணுசக்தித் துறை 1028 avahi 15u IPv6 ஐ 23813 0t0 யுடிபி *: 37512 mongod 1173 MongoDB 6u, IPv4 28149 0t0 டிசிபி லோக்கல் ஹோஸ்ட்: 27017 (கேள்) mysqld 1266 MySQL 19u, IPv4 25992 0t0 டிசிபி லோக்கல் ஹோஸ்ட்: mysql (LISTEN) apache2 1283 root 4u IPv6 28140 0t0 TCP *:http (LISTEN) gaurav@ubuntu:~$

ஐப் பயன்படுத்தி நெட்வொர்க் இணைப்பு மூலம் திறக்கப்பட்ட கோப்புகளைப் பற்றிய தகவல்களை இங்கே காணலாம் lsof -i கட்டளை.

முடிவுரை

இந்த எளிய டுடோரியலில், பயன்படுத்த எளிதான பல்வேறு முறைகளைப் பயன்படுத்தி லினக்ஸில் ஒரு செயல்முறைக்கான திறந்த கோப்புகளை எவ்வாறு பட்டியலிடுவது என்பதை நாங்கள் கற்றுக்கொண்டோம். மேலும் பயன்பாடுகளுக்கு lsof கட்டளை, பார்க்கவும் lsof மனிதன் பக்கம்.