[Gelistirici] comar sirasindaki environment ve core file yaratilmasi
Burak Çalışkan
burakclskn at gmail.com
11 Haz 2010 Cum 12:44:14 EEST
Emre Erenoglu wrote On 10-06-2010 15:42:
> Merhaba,
>
> comar tarafindan servis olarak calistirilirken gocen libvirtd
> process'ini debug etmeye calisiyorum. libvirt gelistirici
> listesindekiler, environment variable'lar neler diye sordular, bir de
> core file var mi diyorlar?
>
> Ancak ben comar bu servisleri calistirirken hangi environment
> variable'lar var bunu bilemiyorum, ayrica naaptiysam core file
> yarattiramadim. ulimit falan kastim, sysctl ile core_pattern degistirdim
> gene servis calisirken core file yaratilmiyor,
>
> Yol gosterebilirseniz memnu nolurum,
1) root dizini alında mydumps diye bir klasör oluştur
$ mkdir /root/mydumps
2) etc/security/limits.conf dosyasını aç, dosyanın sonuna
* - core unlimited
satırını ekle. sistemi yeniden başlat. artık coredump alabilirsin.
öntanımlı olarak çalışma dizininde oluşturulacaktır. Bunu engellemek için.
echo "/root/mydumps/core-%p-%t-%e" > /proc/sys/kernel/core_pattern
yaz.
3) $ cat /proc/sys/kernel/core_uses_pid komutunun 0 yazdığından emin ol.
Artık coredump'lar /root/mydumps altında pid-unixtime-executablename
olarak oluşturulur.
(bunu her açılışta tekrarlaman gerekir, tekrarlamak istemiyorsan
/etc/sysctl.conf'da ilgili ayarları değiştirmelisin.)
environment için hacky bir yol kullanabilirsin. comar betiğinde os'un
import edildiğinden emin ol. Sonra, servisi çalıştırma kodundan hemen
önce, os.system("export > /root/mydumps/env") yaz. Güncel hali ile
sisteme kaydet. Betiği çalıştırdıktan sonra /root/mydumps/env altında
environment bilgileri gelecektir.
iyi çalışmalar.
Gelistirici mesaj listesiyle ilgili
daha fazla bilgi