linux编程

文件操作:
        S_ISLNK(st_mode):是否是一个连接.
        S_ISREG是否是一个常规文件.
        S_ISDIR是否是一个目录S_ISCHR是否是一个字符设 备.
        S_ISBLK是否是一个块设备
        S_ISFIFO是否 是一个FIFO文件.
        S_ISSOCK是否是一个SOCKET文件 
        man 2 stat ... 
       struct stat {
                    dev_t st_dev;                        
                     ino_t st_ino;                         
                     mode_t st_mode;                  
                     nlink_t st_nlink;                    
                     uid_t st_uid;                         
                     gid_t st_gid;                         
                     dev_t st_rdev;                       
                     off_t st_size;                         
                     blksize_t st_blksize;                
                     blkcnt_t st_blocks;                 
                     time_t st_mtime;                   
                     time_t st_ctime;                     
          }; ...

         struct  flock
          fcntl
           gettimeofday
  
  错误处理:   
            errno== EINTR    

  进程:
          所有用户态进程祖先: init进程  , pid为1
          创建进程: fork,vfork,clone
          进程退出   exit()   wait() 和   waitpid()
   信号: 
                   发送信号 kill ,也可以raise()给自己发送信号    ,alarm(2)  定时器  发定时信号  
                   忽略信号 ,
                    信号屏蔽(sigaction)使用信号集操作
                    捕捉信号 (signal)       
                    等待信号 pause
                    信号集操作函数:
                                       
                               int sigemptyset(sigset_t *set);
                               int sigfillset(sigset_t *set);
                               int sigaddset(sigset_t *set, int signum);
                               int sigdelset(sigset_t *set, int signum); 
                               int sigismember(const sigset_t *set, int signum);
                       
          
    线程:
                  
          pthread_attr_init     
          pthread_attr_setschedpolicy
          pthread_attr_destroy
          sched_get_priority_max
          pthread_attr_setschedparam
          pthread_attr_setinheritsched
          pthread_attr_setscope 线程间竞争CPU的范围,也就是说线程优先级的有效范围
          pthread_getconcurrency 并发度

  同步函数:用于 mutex 和条件变量
           pthread_mutex_init() 初始化互斥锁
           pthread_mutex_destroy() 删除互斥锁
           pthread_mutex_lock():占有互斥锁(阻塞操作)
           pthread_mutex_trylock():试图占有互斥锁(不阻塞操作)。即,当互斥锁空闲时,将占有该锁;否则,立即返回。
           pthread_mutex_unlock(): 释放互斥锁
           pthread_cond_init():初始化条件变量
           pthread_cond_destroy():销毁条件变量
           pthread_cond_signal(): 唤醒第一个调用pthread_cond_wait()而进入睡眠的线程
           pthread_cond_wait(): 等待条件变量的特殊条件发生
           Thread-local storage(或者以Pthreads术语,称作线程特有数据):
           pthread_key_create(): 分配用于标识进程中线程特定数据的键
           pthread_setspecific(): 为指定线程特定数据键设置线程特定绑定
           pthread_getspecific(): 获取调用线程的键绑定,并将该绑定存储在 value 指向的位置中
           pthread_key_delete(): 销毁现有线程特定数据键
           pthread_attr_getschedparam();获取线程优先级
          pthread_attr_setschedparam();设置线程优先级

工具函数
        pthread_equal(): 对两个线程的线程标识号进行比较
        pthread_detach(): 分离线程
        pthread_self(): 查询线程自身线程标识号






内置函数:
        获取日历时间  time_t time(time_t * timer);
        获取时间(可以转化日历时间)  struct tm * gmtime(const time_t *timer);     struct tm * localtime(const time_t * timer);                                       

         //固定时间格式
        char * asctime(const struct tm * timeptr);
       char * ctime(const time_t *timer);
       double difftime(time_t time1, time_t time0);  
       size_t strftime(char *strDest,size_t maxsize,const char *format,const struct tm               *timeptr );//自定义时间格式
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值