שאלה איך אתה מוצא איזה תהליך מחזיק קובץ פתוח ב- Windows?


דבר אחד מעצבן אותי על Windows הוא הישן הפרת שיתוף שגיאה. לעתים קרובות אתה לא יכול לזהות מה מחזיק אותו פתוח. בדרך כלל זה רק עורך או Explorer רק הצבעה על ספרייה רלוונטית אבל לפעמים הייתי צריך לנקוט כדי לאתחל את המחשב שלי.

כל הצעות כיצד למצוא את האשם?


480
2018-05-01 00:47




היית חושב שאחרי כל הזמן הזה, החבר 'ה Windows ייתן לנו דרך לעשות את זה בקלות מתוך Explorer. אני תוהה למה זה לא קרה? - Cawflands
אני מוצא כי Explorer הוא לעתים קרובות מאוד את תהליך הבעיה כי הוא מחזיק על קובץ ללא סיבה ברורה. - Eddie
אני יודע שזה לא עוזר לך הרבה, אבל אני חושב שזכרתי שזה היה תכונה מתוכננת של הבא Windows לשחרר לאחר Vista ו 2008 שרת. או אולי זה דבר WinFS. לא בטוח איפה קראתי את זה ... - Kip


תשובות:


היתה לי הצלחה עם סיסינטרנלס  סייר התהליך. עם זאת, אתה יכול לחפש כדי למצוא מה תהליך (es) יש קובץ פתוח, ואתה יכול להשתמש בו כדי לסגור את הידית (ים) אם אתה רוצה. כמובן, זה בטוח יותר כדי לסגור את כל התהליך. לנקוט משנה זהירות ושיקול דעת.

כדי למצוא קובץ מסוים, השתמש באפשרות התפריט Find->Find Handle or DLL...  הקלד חלק מהנתיב לקובץ. רשימת התהליכים תופיע בהמשך.

אם אתה מעדיף שורת פקודה, חבילת Sysinternals כולל כלי שורת פקודה ידית, המפרט ידיות פתוחות. כמה דוגמאות כיצד להשתמש בו:

  • c:\Program Files\SysinternalsSuite>handle.exe |findstr /i e:\ - מצא את כל הקבצים שנפתחו מתוך כונן E:
  • c:\Program Files\SysinternalsSuite>handle.exe |findstr /i file-or-path-in-question

418
2018-05-01 01:03



אתה יכול לסגור את הידית, אבל זכור, אתה מושך את השטיח מתוך יישום, התוצאות יהיו בלתי צפויות במקרה הטוב. - WaldenL
@Walden: בהחלט. YMMV. עם WinXP, יש לי הרבה פעמים היה Explorer לפתוח ידית ללא שום סיבה ברורה לסרב לסגור אותו. כאשר זה קורה על קובץ אתה צריך למחוק, יש לך את הבחירה של לאלץ את הידית סגורה, או אתחול מחדש. עד כה, אחרי שעשיתי את זה עשרות פעמים, לא סבלתי שום השפעה רעה. כמו בכל כלי מתקדם, השתמש בזהירות ובשיפוט. - Eddie
סגירה של הידיות עלולה לגרום לאפליקציה לחזור ולהשתמש בידית על קובץ אחר, ולגרום לשחיתות - ראה את התשובה של ג'ף להלן: serverfault.com/a/15695/79266 ... הרבה יותר בטוח להרוג את היישום מחזיק את הקובץ פתוח, אם אתה לא רוצה לאתחל מחדש. - RichVel
עבור Explorer, btw, החזק ctrl-shift ולחץ באמצעות לחצן העכבר הימני על אזור ריק של תפריט התחלה, ואתה תקבל "יציאה Explorer" - PS, לא ממש התשובה של ג 'ף. - Mark Sowul
זה לא עוזר עבור קובץ שאינו מנהל למשל. קובץ טקסט. אני צריך לדעת מי כותב לקובץ יומן. רעיון כלשהו? - Xaqron


עבור Windows 7, Windows 8 ו- Windows 10 אתה יכול להשתמש מובנית מעקב אחר משאבים לזה.

  1. פתח מעקב אחר משאבים, אשר ניתן למצוא
    • על ידי חיפוש resmon.exe בתפריט התחלה, או
    • ככפתור על ביצועים הכרטיסייה שלך מנהל משימות
  2. בחר את תיבת הסימון ליד תמונה כותרת על תהליכים (התהליכים המסומנים יציגו את ידיות הקובץ שלהם למטה).
  3. השתמש בשדה החיפוש ב ידיות משויכות סעיף על מעבד לשונית
    • מצביע על ידי חץ כחול במסך ירה למטה

במקרה זה לא ברור, כאשר מצאת את הידית, אתה יכול לזהות את התהליך על ידי עיון בעמודה תמונה ו / או PID.

לאחר מכן תוכל לסגור את היישום אם אתה מסוגל לעשות את זה, או פשוט לחץ לחיצה ימנית על השורה ואתה תקבל את האפשרות להרוג את התהליך שם. קלי קלות!

Resource Monitor screenshot

הועתק מהתשובה המקורית שלי: https://superuser.com/a/643312/62


148
2017-09-10 11:48



זה ראוי לציין כי זה יכול להיות קשה למצוא את התוכנית ב- Windows 8 - חיפוש עבור 'resmon.exe' צריך לאתר אותו. - Kylotan
@ Kylotan, תפסיק לבזבז זמן בחיפוש. פשוט תרוץ resmon  ישירות מ cmd - Pacerier
@ Pacerier: נחמד. אני לא רגיל לדברים הנמצאים בנתיב של Windows. - Kylotan
זה מתאים לי יותר מאשר 'ידית' FindStr 'ו' Unlocker 'חלופות, למרות שהם גם יעילים - Marcus Vinicius Pompeu
עדיין תקף ב- Windows 10 ו ניתן למצוא באמצעות "פתח משאבים צג" כפתור בתוך מנהל המשימות -> הכרטיסייה ביצועים. - Norman Breau


לנסות את קבצים פתוחים פקודה.


81
2018-05-01 01:18



+1 עבור פקודה מובנית, למרות שאני אישית להשתמש ProcessExplorer עבור רוב הזמן. - RBerteig
עוזר מאוד. - marko
שגיאה: מערכת היעד חייבת להיות מערכת הפעלה 32 סיביות. - Bozojoe
לא עובד עבור מערכת ההפעלה 64! - Jarrod Roberson
זה נראה עובד עבור Windows 2012R2 64bit, אבל אתה צריך לאפשר את "פתוח מעקב מקומי" שירות על ידי הפעלת openfiles /local on ואתחול מחדש. זה עושה את התכונה הזו לא מאוד שימושי. - Guss


רק להיות זהירים מאוד עם סגירת ידיות; זה אפילו מסוכן יותר ממה שאתה חושב, בגלל מיחזור ידית - אם אתה סוגר את הידית הקובץ, ואת התוכנית פותחת משהו אחר, כי הקובץ המקורי לטפל ביד נסגר ניתן לעשות בה שימוש חוזר עבור "משהו אחר". ועכשיו תנחשו מה קורה אם התוכנית ממשיכה, וחושבים שהיא עובדת על הקובץ (שאת הידית סגרתם), בעוד שלמעשה ידית הקובץ מצביעה כעת על משהו אחר.

ראה עמדתו של ריימונד צ'ן בנושא זה

נניח שירות אינדקס החיפוש יש קובץ פתוח לאינדקס אבל יש   gotten תקוע זמנית ואתה רוצה למחוק את הקובץ, אז אתה   (בחוזקה) בכוח את הידית סגורה. שירות אינדקס החיפוש נפתח   קובץ יומן כדי להקליט מידע מסוים, ואת הידית אל   הקובץ שנמחק הוא ממוחזר כמו הידית לקובץ יומן. תקוע   הפעולה סוף סוף משלים, ואת שירות החיפוש אינדקס סוף סוף מקבל   מסביב לסגירה שמטפלת בזה היה פתוח, אבל זה נגמר בלי משים   סגירת ידית קובץ היומן.

שירות אינדקס החיפוש פותח שירות אחר   קובץ, אומר קובץ תצורה לכתיבה כך שהוא יכול לעדכן כמה   מצב מתמשך. הידית עבור קובץ היומן ממוחזר כמו   לטפל בקובץ ההגדרות. שירות אינדקס החיפוש רוצה   להיכנס קצת מידע, אז זה כותב קובץ היומן שלה. לצערנו, ה   סוג קובץ היומן נסגר והידית בשימוש חוזר עבור התצורה שלו   קובץ. המידע הרשום נכנס לקובץ התצורה,   משחית אותו.

בינתיים, עוד ידית אתה נאלץ סגור נעשה שימוש חוזר   כמו ידית mutex, המשמשת כדי למנוע את הופעת הנתונים   פגום. כאשר ידית הקובץ המקורית סגורה, ידית ה- mutex   סגור וההגנות מפני שחיתות נתונים אבדו. ה   עוד פועל השירות, פגומים יותר המדדים שלה הופכים.   בסופו של דבר, מישהו שם לב לאינדקס חוזר לתוצאות שגויות.   וכאשר אתה מנסה להפעיל מחדש את השירות, זה נכשל בגלל שלה   קבצי תצורה פגומים.

אתה מדווח על הבעיה   החברה שהופכת את השירות לאינדקס החיפוש והם קובעים זאת   המדד הושחת, קובץ היומן נעצר באופן מסתורי   רישום, וקובץ התצורה הוחלף באשפה. כמה   טכנאי המסכן מוקצה המשימה חסרת תקווה של להבין מדוע   השירות משחית את האינדקסים ואת קבצי התצורה, לא מודע לכך   מקור השחיתות הוא שאתה כפתה את הידית סגורה.


77
2018-05-30 17:04



אזהרה חשובה, זה צריך להתקרב הדף - אתחול מחדש הוא כנראה טוב יותר מאשר קובץ פגום בשקט. - RichVel
+1 זה בהחלט גורם לי לחשוב פעמיים על כפות ידיות סגורות! זה נראה לי מוזר כי Windows היה מיד מחדש להשתמש במספר של ידית סגורה, ולא להמשיך להגדיל את המספר רק עוטפים את הצורך בעת הצורך. זה היה לפחות לצמצם במידה ניכרת את הסיכוי לבעיה זו קורה. - EM0
@RichVel סיום תהליך האשם הוא כנראה טוב יותר מאשר אתחול מלא. - Dmitry Grigoryev
@DmitryGrigoryev - נקודה טובה, ולמעשה כבר הזכרתי את זה כאן - RichVel
זוהי אזהרה חשובה מאוד, אבל לא עונה על השאלה איך אתה מוצא איזה תהליך מחזיק קובץ פתוח ב- Windows? - Ploni


אני השתמשתי ידית עם הצלחה למצוא תהליכים כאלה בעבר.


27
2018-05-01 00:52



אני משתמש בכלי זה כל הזמן. אם אני לא יכול להוציא כונן USB, אני פשוט להקליד "ידית H:" (או מה את אות הכונן). החשוב מכל, אתה יכול להשתמש בו כדי לכפות ידיות קרוב. - Chris Thompson


מי נעל אותי עובד טוב שומר אנשים משועשעים עם השם!


7
2018-05-06 00:43



לא עובד ב -64 סיביות של Windows 8 ו -10. - rustyx


רק כדי להבהיר, זה סביר יותר להיות תוצאה של misbehaving 3rd צד Apps לא באמצעות CreateFile שיחת ה- API נכונה יותר מאשר להיות משהו ב- Windows עצמו. אולי זה תוצאה של העיצוב של CreateFile, אבל נעשה נעשה ואנחנו לא יכולים לחזור.

בעיקרון בעת ​​פתיחת קובץ בתוכנית Windows יש לך את האפשרות לציין דגל המאפשר גישה משותפת. אם אינך מציין את הדגל, התוכנית לוקחת גישה בלעדית של הקובץ.

עכשיו, אם אקספלורר נראה כפושע כאן, זה יכול להיות המקרה כי זה רק על פני השטח, וכי האשם האמיתי הוא משהו שמתקין הרחבה פגז שפותח את כל הקבצים בתיקייה עבור מטרות משלו אבל הוא גם יותר מדי גונג-הו, בעשותו כן, או שאינו מתנקה כראוי. סימנטק AV הוא משהו שראיתי עושה את זה לפני, ואני לא אתפלא אם תוכניות אחרות AV היו גם להאשים. גם יישומי הפלאג 'של מקור המקור עלולים להיות אשם.

אז לא ממש תשובה, אבל רק כמה עצות לא תמיד להאשים את Windows עבור מה יכול להיות כתוב קשות 3rd צד התוכנית (משהו שיכול לקרות גם על כל מערכת הפעלה אחרת שיש לה נעילת קובץ מרומז, אבל כל מערכת ההפעלה מבוססת יוניקס יש גישה משותפת ברירת המחדל).


7
2017-10-12 14:27



אני לא אאשים את היישום 3rd צד על העובדה כי Windows Explorer שלי נועל תמיד Thumbs.db קבצים בספריית העבודה שלה, אבל לא תמיד לפתוח את זה כשאני להחליף ספריית עבודה. לפחות הם נעולים כשאני סוגר את החלון, אני לא צריך להרוג את כל explorers ... - Alexander
@Darth, האם אתה משווק של מיקרוסופט? - Pacerier


בשרת מרוחק, כאשר אתה בודק שיתוף רשת, משהו פשוט כמו קונסולת ניהול המחשב יכול להציג את המידע ולסגור את הקובץ.


6
2018-05-01 01:01



למה בדיוק יש תשובות מסובכות? - Rohit Gupta