落書きノート

ふと自分が気になった事を書いてます

C/C++ UNIX プロセスIDを表示する

#include "apue.h"

int main(void){
  printf("hello world from process ID %ld\n", (long)getpid());
  exit(0);
}

getpid関数が、プロセスIDを取得する部分になる。この場合はlong型にキャストしているため、フォーマット指定子は%ldとなる。プロセスIDはロング整数に収まるように保証されている。たいていはint型で間に合うが、long型を使うことでポータビリティを向上できる。

実行結果は以下のようになる。

> clang display_process_id.c -o display_process_id -I apue.3e/include -L apue.3e/lib -lapue
> ./display_process_id
hello world from process ID 1875