Yanıtlar:
Çekirdek bir işlemi öldürdüyse (sistemin belleği yetersiz kaldığı için), bir çekirdek günlük mesajı olacaktır. Check-in /var/log/kern.log(Debian / Ubuntu'da, diğer dağıtımlar çekirdek günlükleri farklı bir dosyaya, ancak genellikle /var/logLinux altında) gönderebilir .
OOM-katili (bellek dışı katili) tetiklenirse, yeterli sanal belleğiniz olmadığı anlamına gelir. Daha fazla takas (veya belki daha fazla RAM) ekleyin.
Bazı işlem çökmeleri, çekirdek günlüklerinde de kaydedilir (örneğin, bölümlendirme hataları).
İşlemler cron'dan başlatılmışsa, hata mesajlarını içeren bir postanız olmalıdır. İşlemler bir terminaldeki bir kabuktan başlatılmışsa, o terminaldeki hataları kontrol edin. screenSabah terminali tekrar görmek için bu işlemi gerçekleştirin . Bu, OOM-katilinin tetiklenmesi durumunda işe yaramayabilir, çünkü cron veya ekran işlemini de öldürmüş olabilir; Fakat eğer OOM-katiline rastlarsanız, düzeltmeniz gereken problem budur.
İşlem Muhasebesi burada yardımcı olabilir.
Kısaca:
apt-get install acct
Ardından şöyle komutları deneyin:
lastcomm
sa
veya Ubuntu'da:
lastcomm -f /var/log/account/pacct
sa /var/log/account/pacct
Görmek:
GÜNCELLEŞTİRME
Garip, pacctdosya çıkış durumu hakkında bilgi vardır, ama ne lastcommde sayazdırmak gibi görünüyor.
Görebildiğim kadarıyla, bilgiye erişmek için kendi C programınızı yazmanız gerekir.
GÜNCELLEME 2
İşte çıkış kodunu basan bir versiyon.
Son iki alan, sinyalleme için "S" ve çıkış için "E" ve ardından sinyal numarası veya çıkış durumu şeklindedir.
Yani, sizin durumunuzda, muhtemelen bir SIGTERM olduğu anlamına gelen "S 15" i arıyorsunuz.
sleep X mikel stdin 0.00 secs Fri Mar 25 20:15 S 15
"E 0" ile karşılaştırıldığında, işlemin hatasız çıkıldığı anlamına gelir.
true mikel stdin 0.00 secs Fri Mar 25 20:16 E 0
Sadece minimal olarak test edilmiştir.
sudo hizmeti
Bu komut size, servislerin şu anda nelerin çalıştığını ve neyin başlatılmadığını veya durdurulmadığını söyleyecektir.
/var/log/kern.log?