[c]代码库
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <signal.h>
#include <math.h>
#include <curses.h>
WINDOW *w;
int num;
int isstop=0;
void handle(int s)
{
	if(s==SIGUSR1)
	{
		if(isstop==1)
			isstop=0;
		else
			isstop=1;
	}
}
main()
{
	initscr();
	curs_set(0);//隐藏光标
	noecho();//禁止输入回显
	//创建子窗体
	w=derwin(stdscr,3,11,(LINES-3)/2,(COLS-11)/2);
	box(w,0,0);//给子窗体加边框
	refresh();
	wrefresh(w);
	if(fork())
	{
		//显示7位数的随机数
		signal(SIGUSR1,handle);
		while(1){
			if(isstop==1)
			{
				pause();//pause会被信号中断停止
			}
			num=rand()%10000000;//产生7位随机数
			mvwprintw(w,1,2,"%07d",num);//显示随机数
			refresh();//刷新屏幕。
			wrefresh(w);
			usleep(10000);//暂停10毫秒
		}
	}
	else
	{
		//处理按键
		while(1)
		{
			getch();
			kill(getppid(),SIGUSR1);
		}
	}
	
	endwin();
}
[代码运行效果截图]