Article View: fj.lang.c
Article #565Re: Details of Processes
From: Ryo
Date: Wed, 01 Apr 1998 00:00
Date: Wed, 01 Apr 1998 00:00
61 lines
2059 bytes
2059 bytes
Haruhiro Soma wrote:
>
> UNIX の中で走行中のプログラムのプロセスの内容について、以下の点
> が知りたいのですが、御存じの方がいらっしゃれば、教えて下さい。
>
> (1) コンピュータ内で生きている各プロセスのカレントディレクトリー
> をどの様にして知るか。
>
> (2) 各プロセスのメモリ使用状況を細かく知りたいのです。それは C 言語で
> 書かれたプログラムばかりですが、C の書き方を改善する為の情報として
> 以下のデータが知りたいのです。
>
> 他のプロセスと共用している領域の大きさ
> そのプロセスのみで使用している領域の大きさ
> プロセスの使用しているヒープ領域の大きさ
>
> ==========
> 相馬晴広
(2)だけなら次のような簡単な方法である程度解決できますね。
#ifdef MEM_MONITOR
#define MALLOC __malloc
#define FREE __free
#else
#define MALLOC malloc
#define FREE free
#endif
#ifdef MEM_MONITOR
void * __malloc( size_t sz )
{
int ii;
void * adr;
for(ii=0;ii<MEM_HOOK_NUM;ii++) {
if(mem_hook[ii].used == 0) {
if(NULL != (adr = malloc(sz))) {
mem_hook[ii].used = 1;
mem_hook[ii].pid = プロセスIDを得るシステムコール;
mem_hook[ii].time = システム時刻を得るシステムコール;
mem_hook[ii].adr = adr;
}
}
}
return NULL;
}
void ____free( void * adr )
{
for(ii=0;ii<MEM_HOOK_NUM;ii++) {
if(mem_hook[ii].adr == adr) {
mem_hook[ii].used = 0;
}
}
}
#endif
---------------------
Ryo
---------------------
Technical Details
Message-ID:
<35225145.56E5@japan-net.or.jp>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<6fsoko$jfi$3@skytrain.asahi-net.or.jp>Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS X-Google-Thread: 106434,ea6ffb9c912f00e7 X-Google-Attributes: gid106434,public From: Ryo <etsuko@japan-net.or.jp> Subject: Re: Details of Processes Date: 1998/04/01 Message-ID: <35225145.56E5@japan-net.or.jp> X-Deja-AN: 339844296 Content-Transfer-Encoding: 7bit References: <6fsoko$jfi$3@skytrain.asahi-net.or.jp> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-2022-jp Organization: Japan-Net Newsgroups: fj.lang.c