1. 获取主机名:int gethostname(地址, 长度);
2. #uname命令显示系统名;#hostname命令显示主机名
3. time(0);获取的时间要加时区
4. 时间相关
time_t t = time(0);
tm* p = localtime(&t);//获取时间结构体有年月日等成员
char buf[100];
strftime(buf, 100, "%F 星期%W %T);//显示日期 周 时间
5. ps -ef|wc 统计进程数;ps 只看本终端进程;ps -u uid看用户进程
6. 程序中能看的地址为虚拟内存地址
7. 32位系统每个进程都有自己的4G内存空间
8. 登记退出函数:atexit(函数名fun); fun:无参,返回void;
9. exit();不会析构局部对象;_exit();全局变量也不会析构;只有在main函数中return整数才是正常结束
10. ps -l 中状态:O正常执行;S等待CPU;R准备好;T挂起;Z僵死状态
11. ctrl+z 挂起;ctrl+c结束;fg命令恢复挂起中的程序
12. vi中“:!”后可执行命令不用退出vi执行命令
13. #whereis ls
14. ps -lp pid显示进程状态
15. system(cstr); 调用sh执行系统命令; getpid(); getppid();获取进程id,获取父进程id
16. fork(); 父进程中返回子进程id,子进程中返回0
17. pid_t cid = wait(0); 等待回收子进程资源
18. 获取子进程结束状态:
int s;
pid_t cid = wait(&s);//将子进程的返回状态放入s中
if (WIFEXITED(S))
cout<<WEXITSTATUS(s)<<endl;
19. exec:在进程空间中装入新程序覆盖旧程序,新程序从头开始执行
execvp("程序名", argv);
execlp("程序名", "程序名", 参数,...., NULL); 即将argv的内容展开写进函数中;两个函数中的p表示会通过PATH环境变量找到可执行文件,没有p则只从当前目录查找