[LUGOS-PROG] Skripta
Pero
pero13667 at yahoo.com
Tue Feb 5 13:18:36 CET 2002
Hvala!
Medtem se v Cju napisal deamon, ki dela isto.
ce koga zanima je koda spodaj.
lp,
Pero
On Tue, 2002-02-05 at 09:04, Matija Grabnar wrote:
> Se pravi nekaj takega:
> #!/usr/bin/perl -w
> open(IN,"</proc/acpi/event");
> while (<IN>) {
> system("/sbin/halt") if ($_ eq 'power 00000080 00000000\n');
> }
#include <stdio.h>
#define EVENT_NAME "button"
#define BUTTON_NAME "power"
#define BUTTON_NUMBER 0x80
#define EXEC "echo Jp Jp"
main(int argc, char *argv[])
{
FILE *fd;
int i,j,k;
char temp[100],temp2[100];
char *exec=0;
char deamon=0;
fd=fopen("/proc/acpi/event","r");
for(i=1;i<argc;i++)
{
if(!strcmp(argv[i],"--deamon"))
deamon=1;
if(!strcmp(argv[i],"-e") && (i+1)<argc)
exec=argv[i+1];
}
if(!exec)
exec=EXEC;
if(!fd)
{
perror("Ne morem odpret /proc/acpi/event:");
return -1;
}
if(deamon)
{
if(k=fork())
{
printf("Poduhovljen nacin! pid=%d\n",k);
return;
}
}
while(1&&fd)
{
fscanf(fd,"%s %s %x %x",temp,temp2,&i,&j);
printf("event:%s %s %d %d\n",temp,temp2,i,j);
if(!(strcmp(temp,EVENT_NAME) && strcmp(temp2,BUTTON_NAME)) &&
BUTTON_NUMBER==i)
system(exec);
}
}
More information about the lugos-prog
mailing list