2009-12-31 11 views
7

Etkinlik İzleyicisi'ndeki Örnek İşlem özelliği oldukça kullanışlıdır. Bununla birlikte, aynı işlemi (örnek almak) başka bir işlemden (C/C++) veya komut satırından yapmak zorundayım.Bir C/C++ programından Mac OS X'deki bir işlemi örnekleme

Bunu yapmanın bir yolu var mı? Şanssız birkaç gün beri bunun için uğraşıyorum.

cevap

12

sample komut satırı yardımcı programı bulunmaktadır.

Örnek:

sample Safari -file /dev/stdout 

O Etkinlik izleyicisi ile tam olarak aynı çıktıyı alacak.

+0

Teşekkürler lamamac, tam olarak aradığım şey. – Chirag

+0

Yığın taşması için üç alkış! Ah evet, ve @ iamamac. – macetw

2

Kullanışlı birkaç komut satırı uygulaması vardır: sample ve top.

Kendi programınızı yazmak isterseniz, bu bilgileri almak için sysctl system call'u kullanabilirsiniz. Ancak, oldukça sıkıcı.

procfs file system'u (MacFUSE ile oluşturulmuş) yüklemenizi öneririm. Bu, her uygulama için (örneğin bellek kullanımı, işlemci kullanımı, kilitler, açılan dosyalar, soketler, dişler, vb.) Birçok yararlı bilgi içeren /proc numaralı yeni bir "dizin" yaratacaktır. Site, nasıl erişilebileceğinin bir örneğini verir. Daha sonra, bu dosyalara erişiminizi basitçe betimleyebilirsiniz.

+0

Cevabınız için teşekkür ederiz. Verdiğin diğer seçeneklere bir göz atacağım. – Chirag