'Sıkışmış' ('üstteki' sonuçlarda) 'yanıt vermiyor' (Etkinlik İzleyicisi'nde), 'döndürme' veya 'askıda tutma' ile nasıl ilişkilidir?


17

topKomutların sonucunda bazen takıldığını görüyorum .

Apple'ın en üstteki (1) OS X Kılavuz Sayfası , kelimenin bu kullanımını açıklamaz.

Eğer hepsi sıkışmışsa , aşağıdakilerle nasıl ilişkilidir?

  1. yanıt vermiyor - Etkinlik İzleyicisi'nde, loginwindow Uygulamalarından Çıkmaya Zorla iletişim kutusunda görülebilir.
  2. .hang dosyaları - adresinde bulunabilir /Library/Logs/DiagnosticReports
  3. .spin dosyaları - adresinde bulunabilir /Library/Logs/DiagnosticReports

İlk nokta için kabul edilmiş bir cevap var. 2. ve 3. noktalara ilişkin cevaplar takdir edilecektir.

Yanıtlar:


15

Sıkışmış bir işlem ile topyanıt vermeyen bir uygulama arasında genellikle bir ilişki yoktur :

  • sıkışmış , işlemin şu anda kesintisiz olduğu anlamına gelir; bu genellikle işlemin bir disk veya ağ veri bloğunun okunmasını (veya benzer düşük düzeyli şeyleri) beklemesi durumunda olur. Teknik olarak, süreç çekirdek alanında (diğer adıyla Unix çekirdeği) yürütülür ve kesintiye uğrayamaz (bu yüzden kill -9bir etkisi bile olmaz). Genellikle bu sıkışmış durumlar yalnızca son milisaniyedir (gördüğünüz topgibi, sıkışmış işlemlerin sayısı her görüntüleme döngüsünde değiştiğinden).
  • yanıt vermeyen uygulamalar , OS X'in attığı tüm olayları yanıtlamak için çok meşgul olabilir .

Ben bir tek durum görmek sıkışmış bir işlem olabilir: olmayan yanıt uygulamaya süreç karşılık sıkışmış çok uzun bir süre için, belki de onu öldürmek olanağı olmaksızın, sonsuz sıkışmış. Bu genellikle bazı programlama hatalarının sonucudur, örneğin ağa bağlı bir cihazdan yanlış bağlantı kesilmesi, ardından çekirdek ondan okumaya çalışır. Bu gibi durumlarda, zorla fesih bile süreci ortadan kaldırmaz.


Teşekkürler - sıkışmış kesintisiz ile eş anlamlı ise , o zaman bu devlete aşinayım. uninterruptiblegenellikle komut satırından çalışırken Control-T ( SIGINFO ) tuşlarına bastığımda görülürfsck_hfs . Daha SIGINFOApple'ın içinde termios (4) OS X Manuel Page .
Graham Perrin

Bu yanıtla ilgili olarak, Stack Overflow'daki bir soru ilginizi çekebilir: Yanıt vermeme sürecinin programlı olarak nasıl tanımlanacağı .
Graham Perrin

2
Top kaynak koduna bir göz attım: Kesintisiz sıkışmış aynıdır.
nohillside

Gotcha - Mac OS X 10.7.4 için açık kaynak kodunda libtop.c'den öne çıkan özellikler .
Graham Perrin

1

İşlem durumu U, TH_STATE_UNINTERRUPTIBLE ve Linux işlem durumu D

Birisi MacOS'un tepesine dikkat çekti : “sıkışmış”, “kesintisiz” anlamına gelir | nelsonslog

…  TH_STATE_UNINTERRUPTIBLEBu psdurumun “U” süreç durumu olarak rapor verdiğine inanıyorum . Sanırım Linux'un “Device Wait” için “D” dediği şey bu. Bu durumda, çoğu durumda süreç iyidir, bazı I / O'nun tamamlanmasını bekler. ...

Ps için Ubuntu adam sayfası bir süreç devlet kodu doğrular -

D    Uninterruptible sleep (usually IO)

- Kesintisiz başka bir şey söylemeden .

FreeBSD / Linux Linux Çekirdeği Çapraz Referansında:

2002 tartışması buldum Cevap Çetesi 83: Kesintisiz uyku durumunda bir süreç nasıl öldürülür? @patrix tarafından yapılan gözlemlere çok yakışan ( vurgular ).

Son olarak, 2004 sonrası [X-Unix] PS ve Stuck Süreçler ( vurgular söz) windowserver ile güzel uyuyor, burada soru gönderebilirsiniz beni istenir lı soru:

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.