|
|
| TopPage > C言語関係 > C言語関係[02] |
#include <stdio.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <errno.h>
main()
{
// 0772のところは、mode. typeはmode_tなのでダブルクォーテションとか付けずにそのまま記述
// ディレクトリ作成時の許可属性は、許可属性=mode & ~umask & 0777になる
if ( mkdir("./sample_directory",0772 ) != 0 )
{
switch ( errno )
{
case EACCES :
printf("ディレクトリは、存在しますがアクセス権限がありません。\n");
break;
case EEXIST :
printf("同じ名前のディレクトリもしくはファイルが既に存在しています。\n");
break;
case EFAULT :
printf("親ディレクトリに対し書き込み許可がありません。\n");
break;
case ELOOP :
printf("解決すべきシンボリックリンクが多すぎます。\n");
break;
case ENAMETOOLONG :
printf("指定したpathnameが長すぎます。\n");
break;
case ENOENT :
printf("指定したpathnameの要素に存在しないものがあります。\n");
break;
case ENOMEM :
printf("カーネルに利用できるメモリが不足しています。\n");
break;
case ENOSPC :
printf("デバイスにディレクトリを作成する容量がありません。\n");
break;
case ENOTDIR :
printf("pathnameの中のディレクトリ部分が実際にはディレクトリではありません。\n");
break;
case EPERM :
printf("pathnameを含むファイルシステムがディレクトリの作成をサポートしていません。\n");
break;
case EROFS :
printf("pathnameが読み出し専用のファイルシステム上のファイルを示しています。\n");
break;
default :
printf("対応するerrnoがありませんがErrorです。\n");
break;
}
}
else
{
printf("ディレクトリが作成されました。\n");
}
}
///////////////////////////////////////EOF//////////////////////////////////////
|
$[hoge] ls -l .... drwxrwx--- 2 XXXXXX XXXXXX 4096 XX月 XX XX:XX sample_directory |
| getpid () | :呼び出し元のプロセスのプロセスIDを返す。 |
| getppid () | :呼び出し元のプロセスの親プロセスのプロセスIDを返す。 |
// gcc -o prn_pid prn_pid.c
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
void main (void)
{
int pi = 0;
int ppi = 0;
ppi = getppid ();
pi = getpid ();
printf("PPID=[%d]\n", ppi);
printf("PID=[%d]\n", pi);
}
|
[hoge@hoge]$ ./prn_pid PPID=[22656] <--こちらが親プロセスID PID=[23230] <--こちらが実行したプログラムのプロセス |
[hoge@hoge]$ ps -ef | gerp 22656 hoge 22656 5438 0 XXXXXX pts/2 00:00:00 /bin/bash -l .... |
// gcc -o prn_now_dt prn_now_dt.c
#include <stdio.h>
#include <time.h>
void main (void)
{
time_t now_dt;
time (&now_dt);
printf("Now[%s]\n", ctime(&now_dt));
// 文字列先頭から24文字を表示
printf("Now[%.24s]\n", ctime(&now_dt));
}
|
[hoge@hoge]$ ./prn_now_dt Now[Wed Apr 11 23:33:08 2012 <--文字列に既に改行が入っている ] Now[Wed Apr 11 23:33:08 2012] |
| TopPage > C言語関係 > C言語関係[02] |