1.编写实验程序task1.c创建进程,创建如图所示的进程族亲结构,其中p1是程序启动时由加载程序创建第一个进程。各进程的输出信息分别如下:
p1:I am father process
p11: 当前时间是< 年 月 日 时 分 秒>
p12: I am young brother process
p121:我的学号是<您的学号xxx>
p122:我的姓名是<您的姓名xxx>
参考笔记 linux进程管理
fork创建进程
总代码:
#include#include #include #include #include #include int main(int argc, char const *argv[]) { pid_t pid; pid = fork(); //调用fork()函数创建子进程 if (pid == -1){ perror("fork error"); exit(1); } else if (pid>0){ //父进程 printf("I am father process:pid=%dn",getpid()); } else if ((pid=fork()) == 0){ //子进程 time_t timep; time(&timep); printf("%sn",ctime(&timep)); } else if ((pid=fork()) == 0){ //子进程 printf("i am young brother processn"); } else if ((pid=fork()) == 0){ //子进程 printf("我的学号是541913430301n"); } else if ((pid=fork()) == 0){ //子进程 printf("我的姓名是chenhaon"); } return 0; }
头文件:#include
定义函数:char *ctime(const time_t *timep);
函数说明:ctime()将参数timep 所指的time_t
结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果以字符串形态返回。此函数已经由时区转换成当地时间,字符串格式为"Wed Jun
30 21 :49 :08 1993n"。注意:若再调用相关的时间日期函数,此字符串可能会被破坏。
返回值:返回一字符串表示目前当地的时间日期。 相关函数:time, ctime, gmtime, localtime
头文件:#include
转自linux c 中时间函数
看看这篇讲解,就懂了ctime
time_t timep; time(&timep); printf("%sn",ctime(&timep));
用的函数
char *ctime(const time_t *t)
该函数以原始时间值为参数,并将其转换为一个更易读的本地时间字符串。原始时间是指以格林尼治时间(GMT)1970年1月1日午夜(0点)为纪元,到现在为止的秒数;返回的字符串格式如下: Www Mmm dd hh:mm:ss yyyy,其中Www 为星期,Mmm是以字母表示的月份,dd 为日,hh为时,mm为分,ss为秒,yyyy为年份。
time 函数原型是:
time_t time ( time_t * timer );
参数是能返回 time_t 型对象 的指针 timer ,那里存放着当时时间。
通常可以忽略这个参数,用NULL,直接就获得 当时时间。(1970年1月1 日起算的时间“秒”数)。
time_t timep;
如果 你用别的方法 得到时间,存在 timep中。
time(&timep);
返回 的 就是 timep 里的值。
下面写一个时间函数试试
用的ctime方法
#include#include #include int main(int argc, char const *argv[]) { time_t timep; time(&timep); printf("%sn", ctime(&timep)); return 0; }
time(&timep);
是获取现在时间的函数
如果去掉NULL
就是初始时间—那个格林时间
其余的时间方法等待以后遇到了在慢慢研究
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)