🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.lang.c
Article #565

Re: Details of Processes

#565
From: Ryo
Date: Wed, 01 Apr 1998 00:00
61 lines
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-mail
References: <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