linux C函数
文章平均质量分 90
详解linux系统中,各类系统函数的用途
物理与数学
这个作者很懒,什么都没留下…
展开
-
mmap,mprotect,msync与munmap函数
函数原型:/*参数addr用于指定映射存储区的起始地址,通常将其设置为0,这表示由系统选择该映射区的起始地址;参数fd指定要被映射文件的描述符;参数len是映射字节数;参数off是要映射字节在文件中的起始偏移量;另外,off和addr的值必须是页面大小的整数倍页面的大小可以由sysconf(_SC_PAGE_SIZE)来返回.参数prot:PROT_READ 映射区可读PROT_WRITE 映射区可写PROT_EXEC 映射区可执行PROT_NONE 映射区不可访问。原创 2024-03-13 15:45:14 · 728 阅读 · 0 评论 -
clone,fork与pthread_create函数
比如进程P1要向另外一个进程P2中的某个线程发送信号时,既不能使用P2的pid,更不能使用线程的pthread id,而只能使用该线程的真实pid,称为tid。Linux下的POSIX线程也有一个id,类型 pthread_t,由pthread_self()取得,该id由线程库维护,其id空间是各个进程独立的(即 不同进程中的线程可能有相同的id)。Linux中的POSIX线程库实现的线程其实也是一个进程(LWP),只是该进程与主进程(启动线程的进程)共享一些资源而已,比如代码段,数据段等。原创 2024-03-12 20:54:04 · 876 阅读 · 1 评论 -
unshare与setns函数
作用:分离进程执行上下文的各个部分,允许进程(或线程)解除当前与其他进程(或线程)部分共享的执行上下文;unshare() 允许进程在不创建新进程的情况下控制(主要是取消共享)其共享的执行上下文。当使用 fork(2) 或 vfork(2) 创建新进程时,有的执行上下文,比如命名空间是隐式共享的,即如果你不显式的指定,那么默认创建的子进程或子线程都在同一个命名空间当中。使用clone(2)创建进程或者线程式,有的执行上下文,比如虚拟内存需要显式的指定。原创 2024-03-12 20:07:18 · 746 阅读 · 1 评论 -
chroot , pivot_root与switch_root
详解chroot , pivot_root与switch_root的作用原创 2024-03-12 15:56:52 · 848 阅读 · 1 评论 -
name_to_handle_at函数和open_by_handle_at函数
dirfdpathnamehandlemount_idflagsmount_fdhandleflagsname_to_handle_at()和open_by_handle_at()系统调用将openat(2)的功能分为两部分:name_to_handle_at(): 返回一个对应于指定文件的不透明句柄;open_by_handle_at(): 打开与前面调用name_to_handle_at()返回的句柄对应的文件,并返回一个打开的文件描述符。原创 2024-02-22 21:04:23 · 1075 阅读 · 0 评论 -
linux stat系列函数详解
全面详解stat,fstat,lstat,fstatat,statx,statvfs,fstatvfs等函数原创 2024-02-21 16:27:10 · 879 阅读 · 0 评论