พิจารณาว่าไฟล์ใดที่กำลังถูกเข้าถึงโดยกระบวนการ


9

ฉันจะหาไฟล์ทั้งหมดที่กระบวนการเฉพาะเข้าถึงได้อย่างไร

ฉันใช้ Ubuntu 9.04

คำตอบ:


11

lsofจะแสดงรายการไฟล์ที่เปิดและ ID กระบวนการที่เกี่ยวข้อง มันจะแสดงรายการทุกอย่างหากไม่มีตัวเลือกให้

มีตัวเลือก-pคือรายการไฟล์ที่เปิดสำหรับกระบวนการเดียว ดังนั้นสำหรับกระบวนการที่มี PID 6714 สิ่งนี้จะแสดงรายการไฟล์ที่เปิดโดยกระบวนการนั้น:

    lsof -p 6714

ในการแสดงรายการไฟล์grepปกติเท่านั้นที่สามารถใช้เพื่อกรองเอาต์พุตของ lsof:

    lsof -p 6714 | grep REG

หากจำเป็นต้องแข็งแกร่งกว่า grep -Fสามารถใช้ตัวเลือกได้ แต่จากนั้นจะซับซ้อนมากขึ้น จากหน้ามนุษย์ของ lsof :

เมื่อระบุอ็อพชัน -F lsof จะสร้างเอาต์พุตที่เหมาะสำหรับการประมวลผลโดยโปรแกรมอื่น - เช่นสคริปต์ awk หรือ Perl หรือโปรแกรม C

มันขึ้นอยู่กับความต้องการของคุณ


1
ฉันชอบที่จะเพิ่ม '-b' ลงใน lsof มันจะเร็วขึ้นเล็กน้อย นอกจากนี้ฉันเพิ่ม 2> / dev / null ก่อนไพพ์ไปที่ grep
kbyrd
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.