1.编写实验程序task1.c创建进程,创建如图所示的进程族亲结构,其中p1是程序启动时由加载程序创建第一个进程。各进程的输出信息分别如下:
p1:I am father process
p11: 当前时间是< 年 月 日 时 分 秒>
p12: I am young brother process
p121:我的学号是<您的学号xxx>
p122:我的姓名是<您的姓名xxx>
参考笔记 linux进程管理
fork创建进程
总代码:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <time.h>
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=%d\n",getpid());
}
else if ((pid=fork()) == 0){ //子进程
time_t timep;
time(&timep);
printf("%s\n",ctime(&timep));
}
else if ((pid=fork()) == 0){ //子进程
printf("i am young brother process\n");
}
else if ((pid=fork()) == 0){ //子进程
printf("我的学号是541913430301\n");
}
else if ((pid=fork()) == 0){ //子进程
printf("我的姓名是chenhao\n");
}
return 0;
}
头文件:#include <time.h>
定义函数:char *ctime(const time_t *timep);
函数说明:ctime()将参数timep 所指的time_t
结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果以字符串形态返回。此函数已经由时区转换成当地时间,字符串格式为"Wed Jun
30 21 :49 :08 1993\n"。
注意:若再调用相关的时间日期函数,此字符串可能会被破坏。
返回值:返回一字符串表示目前当地的时间日期。 相关函数:time, ctime, gmtime, localtime
头文件:#include <time.h>
转自linux c 中时间函数
看看这篇讲解,就懂了ctime
time_t timep;
time(&timep);
printf("%s\n",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 <time.h>
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char const *argv[])
{
time_t timep;
time(&timep);
printf("%s\n", ctime(&timep));
return 0;
}
time(&timep);
是获取现在时间的函数
如果去掉NULL
就是初始时间—那个格林时间
其余的时间方法等待以后遇到了在慢慢研究
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/qq_35629971/article/details/121493519
内容来源于网络,如有侵权,请联系作者删除!