Linux中进程和线程使用的几个函数

本文详细介绍了Linux中进程和线程的相关函数,包括获取进程ID、创建进程(fork、vfork)、进程退出(exit)、进程等待(wait、waitpid)、执行进程(execl)、进程挂起(sleep)、线程创建(pthread_create)、获取线程ID(pthread_self)、线程退出(pthread_exit)以及线程同步(pthread_join、pthread_cancel、pthread_detach)等关键函数的使用和功能。
摘要由CSDN通过智能技术生成

1.linux进程相关函数

(1)获取当前进程号

        pid_t getpid(void)

        头文件:sys/types.h、unistd.h

        该函数成功返回当前ID,该函数always successful

(2)获取父进程号

        pid_t getppid(void)

        头文件:sys/types.h、unistd.h

        always successful

(3)进程创建

       (3-1) pid_t fork(void)

        头文件:sys/types.h、unistd.h

        功能:在当前进程中创建一个进程,与父进程共享代码段,复制父进程的堆栈段和数据段,子进程复制父进程,然后执行fork()后的代码。向父进程返回创建进程的进程号,在子进程中返回0。

        返回值:fork返回给父进程所创建进程的进程号,然后返回创建成功标志值为0,失败-1或者errno

        (3-2)pid_t fork(void)

        头文件:sys/types.h、unistd.h

        功能:和fork(父子进程的执行次序不确定)类似,但vfork保证了子进程先执行,子进程退出后父进程才执行,而且在创建时不像fork分配一片新的进程空间,而是在父进程的空间里执行。

(4)进程的退出

        void exit(int value) //value为0代表正常退出,非0(一般1或-1)表示非正常退出,一般会有对应情况

        父进程:exit(0)和return(0)

        子进程:exit(0)

return和exit的区别是exit停止进程并且value表示进程退出状态,return是函数返回的标志可以返回多种数据类型

exit()(库函数;sdtlib.h)和_exit(系统调用;unistd.h):终止进程以后,_exit()缓冲区不被保存,exit()缓冲区被保存

exit函数作用:进程停止运行之前,检查文件打开情况,把文件缓冲区内容写回文件。,清除其使用的内存空间,并清除其在内核中的各种数据结构。

【知识科普】:(1)缓冲I/O,对应每一个打开的文件,在内存中都有一片缓冲区,每次读文件,连续读出若干条记录,这样在下次读文件时就可以直接从内存缓冲区读取;每次写文件写入

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值