Linux C函数库参考手册之进程及流程控制

abort(以异常方式结束进程)

#include <stdlib.h>
void abort(void);

assert(若测试的条件不成立则终止进程)

#include <assert.h>
void assert(scalar expression);

atexit(设置程序正常结束前调用的函数)

#include <stdlib.h>
int atexit(void (*function)(void));

execl(执行文件)

#include <unistd.h>
int execl(const char *path, const char *arg, ... /* (char  *) NULL */);

execle(执行文件)

#include <unistd.h>
int execle(const char *path, const char *arg, ... /*, (char *) NULL, char * const envp[] */);

execlp(从path环境变量中查找文件并执行)

#include <unistd.h>
int execlp(const char *file, const char *arg, ... /* (char  *) NULL */);

execv(执行文件)

#include <unistd.h>
int execv(const char *path, char *const argv[]);

execve(执行文件)

#include <unistd.h>
int execve(const char *filename, char *const argv[], char *const envp[]);

execvp(执行文件)

#include <unistd.h>
int execvp(const char *file, char *const argv[]);

execvpe(执行文件)

#include <unistd.h>
int execvpe(const char *file, char *const argv[], char *const envp[]);

exit(正常结束进程)

#include <stdlib.h>
void exit(int status);

_Exit(结束进程执行)

#include <unistd.h>
void _Exit(int status);

_exit(结束进程执行)

#include <unistd.h>
void _exit(int status);

fork(建立一个新的进程)

#include <sys/types.h>
#include <unistd.h>
pid_t fork(void);

getpgid(取得进程组识别码)

#include <sys/types.h>
#include <unistd.h>
pid_t getpgid(pid_t pid);

getpgrp(取得进程组识别码)

#include <sys/types.h>
#include <unistd.h>
pid_t getpgrp(void);   /* POSIX.1 version */
pid_t getpgrp(pid_t pid);     /* BSD version */

getpid(取得进程识别码)

#include <sys/types.h>
#include <unistd.h>
pid_t getpid(void);

getppid(取得父进程的进程识别码)

#include <sys/types.h>
#include <unistd.h>
pid_t getppid(void);

getpriority(取得程序进程执行优先权)

#include <sys/time.h>
#include <sys/resource.h>
int getpriority(int which, id_t who);

longjmp(跳转到原先setjmp保存的堆栈环境)

#include <setjmp.h>
void longjmp(jmp_buf env, int val);

nice(改变进程优先顺序)

#include <unistd.h>
int nice(int incr);

on_exit(设置程序正常结束前调用的函数)

#include <stdlib.h>
int on_exit(void (*function)(int , void *), void *arg);

ptrace(进程追踪)

#include <sys/ptrace.h>
long ptrace(enum __ptrace_request request, pid_t pid, void *addr, void *data);

setjmp(保存目前堆栈环境)

#include <setjmp.h>
int setjmp(jmp_buf env);

setpgid(设置进程组识别码)

#include <sys/types.h>
#include <unistd.h>
int setpgid(pid_t pid, pid_t pgid);

setpgrp(设置进程组识别码)

#include <sys/types.h>
#include <unistd.h>
int setpgrp(void);     /* System V version */
int setpgrp(pid_t pid, pid_t pgid);  /* BSD version */

setpriority(设置程序进程执行优先权)

#include <sys/time.h>
#include <sys/resource.h>
int setpriority(int which, id_t who, int prio);

siglongjmp(跳转到原先sigsetjmp保存的堆栈环境)

#include <setjmp.h>
void siglongjmp(sigjmp_buf env, int val);

sigsetjmp(保存目前堆栈环境)

#include <setjmp.h>
int sigsetjmp(sigjmp_buf env, int savesigs);

system(执行shell命令)

#include <stdlib.h>
int system(const char *command);

wait(等待子进程中断或结束)

#include <sys/wait.h>
pid_t wait(int *stat_loc);

waitpid(等待子进程中断或结束)

#include <sys/wait.h>
pid_t waitpid(pid_t pid, int *stat_loc, int options);

Leave a Reply

Your email address will not be published. Required fields are marked *