Windows mất nhiều thời gian hơn bình thường để biết rằng một tệp thực thi đã bị đóng hoặc không được sử dụng


1

Okey lỗi của tôi, chỉ có lỗi của tôi.

Cố gắng tăng tốc một chiếc máy tính xách tay cũ, tôi đã tìm kiếm các tinh chỉnh registry và thực hiện nhiều trong số chúng trên máy tính này. Windows 7 Enterprise, 64 bit.

Tôi tìm thấy một số điều chỉnh này không thực sự tốt. Ví dụ, một trong số chúng gây ra, treo ứng dụng để tự động đóng. Hoặc hành vi khác là trong điều kiện bộ nhớ thấp, nó tự động đóng các ứng dụng.

Vì vậy, tôi đã đi và cố gắng đảo ngược chúng và dường như nó đã làm.

Nhưng máy tính của tôi vẫn có một hành vi rất lạ. Tôi sẽ cố gắng nói nó trong một cụm từ duy nhất: phải mất nhiều thời gian hơn bình thường để các cửa sổ biết rằng một tệp thực thi đã bị đóng hoặc không được sử dụng.

Ví dụ, tôi có một tệp bó biên dịch một tệp (Delphi), sau đó nén nó, sau đó ký tên, tất cả thông qua lô lệnh MSDOS cũ tốt. Điều này bắt đầu hành xử kỳ lạ, bây giờ sau khi sao chép tệp, nhiều lần tôi nhận được quyền truy cập từ chối lỗi vào tệp đó. Lúc đầu, tôi nghĩ rằng đó là phần mềm chống vi-rút hoặc phần mềm chống virut hoặc VCS đang khóa các tệp mới tạo, nhưng không, tôi đã tước máy tính của những phần mềm đó và vấn đề vẫn còn.

Một ví dụ khác, tôi đặt "dummy.exe" có thể thực thi được, giả sử một tệp thực thi độc lập được xây dựng trong Delphi, trong thư mục "c: \ mydirectory". Tôi thực hiện các tập tin, hơn là đóng nó. Sau đó, tôi đã cố gắng xóa tệp và Windows nói với tôi rằng tôi không thể, rằng tệp đang mở ... nhưng không được, tôi đã đóng nó. Tôi chỉ chờ vài phút, thử lại sau và bây giờ nó hoạt động.

Điều gì thiếu hoặc thay đổi khoá đăng ký có thể gây ra hành vi này?

CHỈNH SỬA 1:

Sử dụng Xử lý của Sysiternal, tôi thấy quá trình chặn tệp của mình là PID: 4, đó là Hạt nhân và Hệ thống NT .... vậy, điều gì thực sự đang diễn ra ở đây!? :

EDIT 2:

Tôi nghĩ tôi chắc chắn vấn đề là gì, nhưng vẫn không biết cách khắc phục. Tôi nhớ một số "tinh chỉnh" có liên quan đến UAC. Tệp vừa được tạo bởi Delphi đang chạy với tư cách Quản trị viên, nếu tôi chạy Command Prompt với tư cách quản trị viên và chạy lô của tôi để sao chép / aspack / ký thì nó hoạt động trơn tru. Đó là khi tôi chạy lô trực tiếp bằng cách nhấp đúp vào tệp bó mà khóa được kích hoạt.

Ngoài ra, vẫn còn những điều kỳ lạ khác. Một thư mục mới được tạo trong đó tôi thả và thực thi (giả sử notepad.exe), sau đó chạy nó, sau đó đóng nó, tiếp tục khóa và không thể xóa. Điều này là không bình thường, tôi chỉ kiểm tra trong một vài máy tính khác.

EDIT 3:

Tôi có thể xác nhận rằng chỉ bằng cách mở Windows Explorer và để nó "xem" thư mục nơi exe và batch của tôi cư trú (ngay cả khi tôi chạy lô của tôi trực tiếp từ phiên nhắc nhở CMD đã mở trước đó), nó sẽ khiến các tệp bị khóa và nhận : "Quá trình không thể truy cập tệp vì nó đang được sử dụng bởi một quy trình khác." Vì vậy, chính Windows Explorer đang xem các tệp của tôi, nguyên nhân gây ra khóa này ..... nhưng một lần nữa, tại sao? Và Windows Explorer có thể mở rộng? Tôi có bản sao lưu Mozy và sử dụng Rùa để kiểm soát phiên bản, cả hai đều đã cài đặt các mục trong menu "Tệp".


Hành vi bạn mô tả không được xử lý bởi khóa đăng ký. Tôi sẽ khôi phục hệ thống của bạn từ bản sao lưu và / hoặc sao lưu các tệp cá nhân của bạn và cài đặt lại hệ điều hành.
Ramhound

Nó được gây ra bởi một khóa đăng ký ... bởi vì nó không hoạt động theo cách này ... nó chỉ bị thất bại ngay sau khi tôi "điều chỉnh" nó ... tôi dự định làm gì nếu không ai có thể đoán được chuyện gì đang xảy ra ở đây , là để xem xét lại từng "khóa" / khóa đăng ký đối với Windows 7 SP 1 mới cài đặt, so với các giá trị so sánh với giá trị của tôi.
Craig Stevensson

1
Vì bạn không cho biết những điều chỉnh nào bạn đã thực hiện chính xác, thật khó để chắc chắn liệu các điều chỉnh đó có phải là lý do hay điều gì khác là lý do.
Ramhound

Sử dụng Xử lý của Sysiternals để tìm hiểu những gì chặn tệp của bạn. Chạy Command Prompt với tư cách quản trị viên (nhấp chuột phải-> chạy với tư cách quản trị viên), đi đến thư mục nơi bạn có handle.exe(bằng cách sử dụng cdhoặc pushd), sau đó nhập vào đây : handle C:\YourFilePath\YourFile.exe. Nếu nó xảy ra một lần nữa, làm điều này và đặt ở đây đầu ra.
Máy bay phản lực

@jet Cảm ơn sự giúp đỡ của bạn. Trên thực tế tôi cũng đã thử điều đó và thông báo "Không tìm thấy tay cầm phù hợp" ... :( ... Tôi nghi ngờ đó là Windows Explorer tự nó .. bây giờ tôi đã trực tiếp đến MSDOS mà không mở Explorer, tệp không chặn ... EDIT, tôi đã bắt được ngay bây giờ. Nó nói rằng đó là PID: 4, đó là .... Hệ thống / Hạt nhân NT & Hệ thống.
Craig Stevensson

Câu trả lời:


1

Vấn đề là do vô hiệu hóa Trải nghiệm ứng dụng dịch vụ. Sau khi kích hoạt lại, mọi thứ sẽ hoạt động như bình thường. :)

Cảm ơn bạn rất nhiều vì đã giúp khắc phục sự cố này. Việc sử dụng "Xử lý" rất hữu ích, vì nó giúp tôi thu hẹp chính xác những khoảnh khắc mà các tệp bị khóa.

Đây là nơi tôi tìm thấy manh mối để giải quyết vấn đề này: http://social.msdn.microsoft.com/Forums/office/en-US/40f15ae2-017d-4101-aff8-3981964addb3/error8-unable-to-copy- file-objdebugxxxexe-to-bindebugxxxexe-access-to-the-path? forum = visualstudiogeneral


Thú vị, và làm thế nào nó có thể chặn các tập tin? Hiện tại nó không chạy trong PC của tôi và tôi không nhớ lần cuối cùng nhìn thấy nó chạy là gì.
Máy bay phản lực

Dịch vụ này là một phần của cơ sở hạ tầng tự động áp dụng các bản cập nhật phần mềm cho các chương trình để đảm bảo rằng chúng chạy trên các gói dịch vụ mới được phát hành và các phiên bản mới được phát hành của hệ điều hành Windows. Nhưng nếu nó không hoạt động thì làm thế nào để chặn nó? Tôi cho rằng có một dịch vụ bổ sung khác thực hiện điều đó, hãy thử sử dụng Trải nghiệm ứng dụng và trong quá trình thử, nó sẽ chặn tệp cho đến khi hết thời gian. Đó là lý thuyết của tôi.
Craig Stevensson
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.