- 浏览: 64321 次
- 性别:
- 来自: 苏州
最新评论
-
brxonline:
提示不能这样写234390216 写道234390216 写道 ...
mysql导出数据为excel -
234390216:
234390216 写道不行啊,错误
提示不能这样写
mysql导出数据为excel -
234390216:
不行啊,错误
mysql导出数据为excel
文章列表
1.bzero函数
bzero 等同于memset(void * str,0,size_t n)
2.inet_pton函数
inet_pton将点分十进制的IP地址转为网络字节序的地址,如inet_pton(AF_INET, "202.182.0.25",&servaddr.sin_addr)
3.time()函数
c标准函数库函数,返回从1970-01-01 00:00:00开始的秒数,用法
time_t ticks;
time(&ticks);
4.ctime()函数
c标准函数库函数,将time()产生的秒数 ...
UNIX编程(15)-进程间通信
- 博客分类:
- C
. 管道
#include <unistd.h>
int pipe(int filedes[2]);
Returns: 0 if OK, 1 on error
参数filedes返回两个文件描述符:filedes[0]为读而打开,filedes[1]为写而打开。
例:经由管道父进程向子进程传递数据
#include "apue.h"
int
main(void)
{
int n;
int fd[2];
pid_t pid;
...
UNIX编程(14)-高级IO
- 博客分类:
- C
1.非阻塞IO
对于一个给定的描述符有两种方法对其指定非阻塞IO
1)如果调用open获得描述符,则可指定O_NONBLOCK标志
2)对于一个已经打开的描述符,则可调用fcntl由该函数打开O_NONBLOCK文件状态标志
#include "apue.h"
#include <errno.h>
#include <fcntl.h>
char buf[500000];
int
main(void)
{
int ntowrite, nwrite;
char *ptr;
...
UNIX编程(13)-守护进程
- 博客分类:
- C
1.守护进程的编程规则
1)用umask将文件模式创建屏蔽字设置为0
2)调用fork,然后使父进程退出
3)调用setsid创建一个新会话
4)将当前工作目录更改为根目录
5)关闭不再需要的的文件描述符
6)某些守护进程打开/dev/null使其具有文件描述符0,1,2,
例:初始化一个守护进程
#include "apue.h"
#include <syslog.h>
#include <fcntl.h>
#include <sys/resource.h>
void
daemonize(cons ...
UNIX编程(12)-线程控制
- 博客分类:
- C
1.线程限制
某些系统有线程的限制,可以通过sysconf函数来查询
2.线程属性
如想修改线程的属性,则可以在pthread_create调用时,传递pthread_attr_t类型指针参数
#include <pthread.h>
int pthread_attr_init(pthread_attr_t *attr);
int pthread_attr_destroy(pthread_attr_t *attr);
Both return: 0 if OK, error number on failure
...
UNIX编程(11)-线程
- 博客分类:
- C
1.线程标识
每个线程都有一个线程ID,线程ID只在它所属的进程环境有效
线程ID比较函数
#include <pthread.h>
int pthread_equal(pthread_t tid1, pthread_t tid2);
Returns: nonzero if equal, 0 otherwise
线程获得自身ID函数
#include <pthread.h>
pthread_t pthread_self(void);
Returns: th ...
UNIX编程(10)-信号
- 博客分类:
- C
1.signal函数
#include <signal.h>
void (*signal(int signo, void (*func)(int)))(int);
Returns: previous disposition of signal (see following) if OK, SIG_ERR on error
一般可将signal函数的原型写成
Sigfunc *signal(int, Sigfunc *);例:捕捉 SIGUSR1和SIGUSR2的简单程序
#include "apue.h&q ...
UNIX编程(9)-进程关系
- 博客分类:
- C
1.终端登录
2.网络登录
3.进程组
#include <unistd.h>
pid_t getpgrp(void);
Returns: process group ID of calling process
#include <unistd.h>
pid_t getpgid(pid_t pid);
Returns: process group ID if OK, 1 on error
#include <unistd.h>
...
UNIX编程(8)-进程控制
- 博客分类:
- C
1.进程标识符
每个进程都有一个非负整数表示的唯一进程ID
#include <unistd.h>
pid_t getpid(void);
Returns: process ID of calling process
pid_t getppid(void);
Returns: parent process ID of calling process
uid_t ge ...
JAVA_OPTS="$JAVA_OPTS -Xmx1024M -Xms1024M -Xmn512M -XX:PermSize=128M -XX:MaxPermSize=128M -Xss256K -XX:+DisableExplicitGC -XX:SurvivorRatio=1 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0 -XX:+CMSClassU ...
UNIX编程(7)-进程环境
- 博客分类:
- C
1.main 函数
c程序总是从main函数开始执行,当内核执行c程序时,在调用main前先调用一个特殊的启动例程,启动例程从内核获得命令行参数和环境变量值,然后为按上述方式调用main做好安排
2.进程终止
有8种方式使进程终止:
1)从main返回
2)调用exit
3)调用_exit或_Exit
4)最后一个线程从其启动例程返回
5)最后一个线程调用pthread_exit
6)调用abort
7)接到一个信号并终止
8)最后一个线程对取消请求做出相应
有三个函数用来正常终止一个程序
#include <stdlib.h>
...
1.口令文件
口令文件存储在/etc/passwd中,是一个ASCII文件
用用户名或UID获取passwd结构体信息的函数
#include <pwd.h>
struct passwd *getpwuid(uid_t uid);
struct passwd *getpwnam(const char *name);
获取口令文件中所有内容
#include <pwd.h>
struct passwd *getpwent(void);
Returns: pointer if OK, NULL on error or end of file
void setp ...
1.流的定向
freopen函数清除一个流的定向,fwide设置流的定向
#include <stdio.h>
#include <wchar.h>
int fwide(FILE *fp, int mode);
如果mode的参数值为负,fwide将试图使指定的流是字节定向的。
如果mode的参数值为正,fwide将试图使指定的 ...
1.stat,fstat,lstat函数
#include <sys/stat.h>
int stat(const char *restrict pathname, struct
stat *restrict buf);
int fstat(int filedes, struct stat *buf);
int lstat(const char *restrict pathname, struct
stat *restrict buf);
当命名文件是一个符号链接时,lstat返回该符号链接的有关信息,而不是由该符号链接引用文件的信息。
stat 结构体说明
struc ...
1.open函数
#include <fcntl.h>
int open(const char *pathname, int oflag, .../*mode_t mode */);
oflag参数:
O_RDONLY 只读打开
O_WRONLY 只写打开
O_RDWR 读写打开
这三个必须指定一个
下面是可选的:
O_APPEND 每次写时都追加到文件的尾端
O_CREAT 若此文件不存在,则创建它
O_EXCL 如果同时指定了O_CREAT, 而文件已经存在,则会出错
O_TRUNC 如果此文件存在,而且为只写或读写成功打开,则将其长度截短为0
O_NOCTTY ...