进程线程等学习笔记

总共分为12部分分别是:进程、线程、消息队列、信号量集、共享内存、PGSQL编程、MYSQL编程、网络编程、文件访问、标准I/O、系统数据文件和信息、信号
(一) 进程
1. 进程ID为0的进程通常是调度进程,常常被称为交换进程
进程ID为1的进程通常是init进程,在自举过程结束时由内核调用
进程ID为2的进程页守护进程,负责支持虚拟存储系统的分页操作
2. pid_t getpid( void ); 返回值:调用进程的进程ID #include <unistd.h>
3. pid_t getppid( void ); 返回值:调用进程的父进程ID
4. uid_t getuid( void ); 返回值:调用进程的实际用户ID
5. uid_t geteuid( void ); 返回值:调用进程的有效用户ID
6. gid_t getgid( void ); 返回值:调用进程的实际组ID
7. gid_t getegid( void ); 返回值:调用进程的有效组ID
8. pid_t fork( void );创建子进程,返回值:子进程返回0,父进程返回子进程ID,出错-1
9. #include<sys/wait.h> pid_t wait(int *statloc);//statloc 保存进程终止状态的指针
10. #include<sys/wait.h>pid_t waitpid(pid_t pid,int *statloc,int options);
pid ==-1 等待任一子进程
pid >0 等待其子进程ID与pid相等的子进程
pid == 0 等待其组ID等于调用进程组ID的任一子进程
pid <-1 等待其组ID等于pid绝对值的任一子进程
options:
WCONTINUED 若实现支持作业控制,那么由pid指定的任一子进程在暂停后已经继续,但其状态尚未报告,则返回其状态
WNOHANG 若由pid指定的子进程并不是立即可用的,则waitpid阻塞,此时其返回0
WUNTRACED 若实现支持作业控制,而由pid指定的任一子进程已处于暂停状态,并且其状态自暂停以来还未报告过,则返回其状态
11.#include<unistd.h> int setuid(uid_t uid); 设置实际实际用户ID和有效用户ID;
int setgid(gid_t gid); 设置实际组ID和有效组ID;成功返回0,错误-1
12.#include<stdlib.h>int system(const char *cmdstring)
system返回值如下
-1出现错误
0调用成功但是没有出现子进程
>0 成功退出的子进程的id
(二)线程
1. #include<thread.h> int pthread_equal(pthread_t tid1, pthread_t tid2);
//相等返回非0,否则返回0
2. pthread_t pthread_self(void);返回调用线程的ID
3. int pthread_create(pthread_t *restrict tidp,
const pthread_attr_t *restrict attr, void *(*start_rtn)(void), void *restrict arg) ;
创建线程:成功返回0,否则返回错误编号
4. void pthread_exit(void *rval_ptr);//终止线程
5. int pthread_join(pthread_t thread, void **rval_ptr);
//自动线程置于分离状态,以恢复资源。成功返回0,否则返回错误编号
6. int pthread_cancel(pthread_t tid);
//请求取消同一进程中的其他线程;成功返回0,否则返回错误编号
7. void pthread_cleanup_push(void (*rtn)(void *), void *arg);
//建立线程清理处理程序
8. void pthread_cleanup_pop(int execute);//调用建立的清理处理程序
9. int pthread_detach(pthread_t tid);//使线程进入分离状态,已分离也不出错
10.int pthread_mutex_init(pthread_mutex_t *restrict mutex,
const pthread_nutexattr_t *restrict attr)//初始化互斥量;成功0,失败返回错误编号
1
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值