⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shouhuled.c

📁 守护进程
💻 C
字号:
#include <stdio.h>#include<stdlib.h>#include<sys/types.h>#include<unistd.h>#include <linux/fcntl.h>#define LED_NUM         4                                                                                #define LED_OFF         0#define LED_ON          1#define LED_ON_ALL      0xF#define LED_OFF_ALL     0x0void init_daemon(void){  int pid;  int i;  if(pid=fork())    		exit(0);//父进程退出  else if(pid< 0)    		exit(1);  setsid();  chdir("");  umask(0);  if(pid=fork())    	exit(0);  else if(pid< 0)   		 exit(1);  for(i=0;i< 5;++i)    		close(i); return;}int main(int argc, char ** argv){	int i, j, wval, rval, fd;	static char *driver = "/dev/led/0";	init_daemon();	fd = open(driver, O_RDWR);  while(1)  {	sleep(5);	for(i=0; i<6; i++)	{		if(i%2)		{			wval = LED_OFF_ALL;			write(fd, &wval, 1);			read(fd, &rval, 1);			printf("Turn off all LEDs, readback val = 0x%02X\n", rval&0xF);		}		else		{			wval = LED_ON_ALL;			write(fd, &wval, 1);			read(fd, &rval, 1);			printf("Turn on all LEDs, readback val = 0x%02X\n", rval&0xF);		}					/* delay 1s */		sleep(1);	}  }  	close(fd);	return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -