摘要: 问题:一个程序如何运行另一个程序?答:程序调用execvp#include<stdio.h>main(){ char *arglist[3]; arglist[0]="ls"; arglist[1]="-l"; arglist[2]=0; //参数字符串必须以0结束 printf("********About to execute ls -l\n"); execvp("ls",arglist); printf("********ls is done.bye\n");}execvp有两 阅读全文
posted @ 2011-12-22 19:04 张朝阳 阅读(8355) 评论(0) 推荐(0) 编辑
摘要: signalkill()不仅可以向进程发送SIGKILL信号,也可以发送其他信号。#include<signal.h>#include<sys/types.h>int kill(pid_t pid,int sig)pid的取值:正数:要发送信号的进程号0:信号被发送到所有和pid进程在同一个进程组的进程−1:信号发给所有的进程表中的进程(除了进程号最大的进程外)int raise(int sig) 进程向自身发送信号#include <unistd.h>unsigned int alarm(unsigned int seconds)alarm当定时器指定的时 阅读全文
posted @ 2011-12-22 11:48 张朝阳 阅读(3111) 评论(0) 推荐(2) 编辑
摘要: sleep(n)和alarm(n)的精度是秒。usleep(n)挂起进程n微秒或直到有一个不能被忽略的信号到达。#include<stdio.h>#include<curses.h>void main(){ initscr(); //初始化curses库和tty clear(); //清屏 int i; for(i=0;i<LINES;i++){ move(i,i+1); //把光标移到(10,20)的位置 if(i%2==1) standout();//启动standout模式,一般使屏幕反色 a... 阅读全文
posted @ 2011-12-22 10:23 张朝阳 阅读(562) 评论(0) 推荐(0) 编辑