Bu nasıl mümkün Linux üzerinde bir işlem hiçbir etkisi olmaz -9 öldürmek mi?
Web sitesini ziyaret edin metin dizelerini otomatik olarak vurgulamak için bir eklenti yazıyorum. Vurgulayın arama sonuçları ancak otomatik ve çok fazla kelime gibi; yiyecek bir siteye göz attığınızda, örneğin alerjisi olanlar için kelimeler gerçekten öne yapmak için kullanılan, olabilir.
Ama bir sorunum var. Boş, temiz FF bir pencereyi kapatmaya çalışıyorum ama bir şekilde bütün bu süreci engeller. Zaman öldürüyorum süreci, bütün pencereleri yok, ama Firefox süreci hayatta kalır (üst PID 1, gelmez dinle için herhangi bir sinyal, çok açık kaynaklar, hala yiyor CPU, ama yerinden kıpırdamadı).
Bu yüzden iki soru
Nasıl -9 öldürmek dinlemek için değil, bir süreç (ne root olarak ne de kullanıcı olarak) için bile mümkün mü?
Yapabileceğim bir şey ama bir reboot var mı?
[DÜZENLE] Bu soruna neden olan bir süreç
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
digulla 16688 4.3 4.2 784476 345464 pts/14 D Mar28 75:02 /opt/firefox-3.0/firefox-bin
ps -ef | grep firefox
ile aynı
UID PID PPID C STIME TTY TIME CMD
digulla 16688 1 4 Mar28 pts/14 01:15:02 /opt/firefox-3.0/firefox-bin
Tek işlem kaldı. Bir zombi değil gördüğünüz gibi çalışıyor. -9, eğer PID veya adı öldürmek, ne olursa olsun öldürmek dinlemiyor! Eğer strace
) ile bağlantı edersem strace
de kilitleniyor ve öldürülemez. Çıkış da yok. Benim tahminim FF bazı çekirdek rutin asılı ama hangisi?
[EDİT2] sigjuice tarafından yorumlarına dayanarak:
ps axopid,comm,wchan
çekirdek rutin bir işlem askıda kalıyor. Benim durumumda, soruna neden olan eklenti Beagle, dizin (SUSE 11.1) idi. Eklenti devre dışı bıraktıktan sonra, FF daha hızlı ve mutlu bir tilki oldu.
CEVAP
OP yorumlarda da belirtildiği gibi, D
işlem durumu (STAT
) işlemi "" devlet. kesintisiz uyku bir yer olduğunu gösterir Gerçek dünya açısından, bu genellikle ben O/ve/G/Ç işlemi tamamlanıncaya kadar bir şey - ölüm dahil - yaramaz olabilir bekliyor demektir.
D
bir durumda işler normalde sadece ameliyattan önce ikinci bir kısmını tamamlar ve onlar*/S
*12 geri dönmek için orada olacak. Benim tecrübelerime göre, eğer bir işlem sıkışıyor D
, en sık iletişim kurmaya çalışmak ile ulaşılamaz NFS veya başka bir uzak dosya sistemi, çalışırken erişim başarısız sabit sürücü veya kullanmak bazı parça donanım şekilde lapa lapa aygıt sürücüsü. Bu gibi durumlarda, tek yolu kurtarmak ve izin işlemi için ölmek için de fs/sürücü/donanım yeniden ve böylece I/O tamamlamak veya vermek ve sistemi yeniden başlatın. Özel durum NFS, mount da sonunda zaman dışarı ve geri gelen g/Ç işlemi (hata kodu), ama bu bağımlı mount seçenekleri ve çok yaygın NFS bağlar ayarlanmış, sonsuza kadar beklemek.
Bu Z
durumunda olan bir zombi süreci farklıdır.
Nasıl Linux bir süreç belirli bir bağl...
Nasıl Linux üzerinde tek bir işlem (Ub...
Nasıl Nginx üzerinde Ağ herhangi bir i...
Nasıl kalıcı olarak Linux üzerinde set...
Nasıl Linux üzerinde başka bir uygulam...