Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

linux lua

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
#include <string.h>
#include <signal.h>
#include <sys/types.h>
#include <sys/wait.h>
#include "include/lua.hpp"
bool g_bQuit = false;
void SignalHandler(int signal)
{
 printf("nanny thread was interrupt by signal\n");
 g_bQuit = true;
}
//for lua
//Ö´Ðд«À´µÄ×Ö·û´®,·µ»Ø½á¹û
static int NannyCreateProcess(lua_State* L)
{
 const char* param = lua_tostring(L,1);
 int ret = system(param);
 lua_pushnumber(L, ret);
 return 1;
}
void DoLuaCheck(lua_State* L, char* szBuf)
{
 lua_getglobal(L, "NannyCheckPsString");
 lua_pushstring(L, szBuf);
 lua_call(L, 1, 0);
}
void DoLuaReset(lua_State* L)
{
 lua_getglobal(L, "NannyTryReloadProcess");
 lua_call(L, 0, 0);
}
lua_State* InitLua()
{
 lua_State* L = lua_open();
 luaopen_base(L);
 luaL_openlibs(L);
 
 lua_register(L, "NannyCreateProcess", NannyCreateProcess);
 luaL_dofile(L, "nanny.lua");
 return L;
}
bool DoCheck()
{
 int fd[2];
 
 if( pipe(fd) < 0 )
 {
  fprintf(stderr, "failed to create pipe! (%s)\n", strerror(errno));
  return false;
 }
 
 int nRet = fork();
 if( nRet > 0 )
 {
  //¶ÁÈ¡¹ÜµÀÖÐpsÊä³ö
  lua_State* L = InitLua();
  if( L == NULL )
   return false;
  close(fd[1]);
  FILE* fp = fdopen(fd[0], "r");
  if( fp == NULL )
  {
   lua_close(L);
   return false;
  }
  char szBuf[2048] = { 0 };
  while( fgets(szBuf, 2048, fp) != NULL )
  {
   DoLuaCheck(L, szBuf);
   //fprintf(stderr, "-----------%s",szBuf);
   memset(szBuf,  0, 2048);
 


Ïà¹ØÎĵµ£º

Linux ÄÚ´æ¹ÜÀí ¸ß¶ËÄÚ´æµÄÓ³É䷽ʽ

½âÊÍÒ»:
¸ß¶ËÄÚ´æÊÇÖ¸ÎïÀíµØÖ·´óÓÚ 896M µÄÄÚ´æ¡£
¶ÔÓÚÕâÑùµÄÄڴ棬ÎÞ·¨ÔÚ“ÄÚºËÖ±½ÓÓ³Éä¿Õ¼ä”½øÐÐÓ³Éä¡£
Ϊʲô£¿
ÒòΪ“ÄÚºËÖ±½ÓÓ³Éä¿Õ¼ä”×î¶àÖ»ÄÜ´Ó 3G µ½ 4G£¬Ö»ÄÜÖ±½ÓÓ³Éä 1G ÎïÀíÄڴ棬¶ÔÓÚ´óÓÚ 1G µÄÎïÀíÄڴ棬ÎÞÄÜΪÁ¦¡£
ʵ¼ÊÉÏ£¬“ÄÚºËÖ±½ÓÓ³Éä¿Õ¼ä”Ò²´ï²»µ½ 1G£¬ »¹µÃÁôµã ......

linux³£ÓÃÃüÁî


1. ×î³£ÓõÄÃüÁîÁбí
ÏÂÃæÁгöÊ®¸öÔÚʹÓÃlinux¹ý³ÌÖÐʹÓÃÆµÂÊ×î¸ßµÄÃüÁî¡£ÕâÀïÖ»×÷¼òµ¥½éÉÜ£¬¾ßÌåÓ÷¨Çë²Î¿¼ºóÃæÄÚÈÝ¡£
cat£¬ÏÔʾÎļþÄÚÈÝ¡£
cd£¬¸Ä±äĿ¼·¾¶¡£
cp£¬¸´ÖÆÎļþ¡£
find£¬²éÕÒÎļþ¡£
grep£¬ËÑË÷¡¢¹ýÂËÐÅÏ¢¡£
ls£¬ÁгöĿ¼ÐÅÏ¢¡£
more£¬·ÖÒ³ÏÔʾ¡£
rm£¬É¾³ýÎļþ»òĿ¼¡£
vi£¬µ÷ÓÃviÎı¾±à¼­Æ÷ ......

Linuxϲ鿴CPUʹÓÃÂÊ!

Linuxϲ鿴CPUʹÓÃÂÊ!
2008Äê03ÔÂ20ÈÕ ÐÇÆÚËÄ ÏÂÎç 07:02
¡¡¡¡ÔÚϵͳά»¤µÄ¹ý³ÌÖУ¬ËæÊ±¿ÉÄÜÓÐÐèÒª²é¿´ CPU ʹÓÃÂÊ£¬²¢¸ù¾ÝÏàÓ¦ÐÅÏ¢·ÖÎöϵͳ״¿öµÄÐèÒª¡£ÔÚ CentOS ÖУ¬¿ÉÒÔͨ¹ý top ÃüÁîÀ´²é¿´ CPU ʹÓÃ×´¿ö¡£ÔËÐÐ top ÃüÁîºó£¬CPU ʹÓÃ״̬»áÒÔÈ«ÆÁµÄ·½Ê½ÏÔʾ£¬²¢ÇһᴦÔÚ¶Ô»°µÄģʽ -- ÓûùÓÚ top µÄÃüÁ¿ÉÒÔ¿ØÖÆÏÔ ......

LinuxÉÏÉÕ¼CD

Linux Ϊ´´½¨ CD ÌṩÁ˹¦ÄÜÇ¿´óÇÒÁé»îµÄ¹¤¾ß¡£
Äú¿ÉÒÔ´´½¨ÔÚ¼¸ºõÈÎºÎÆ½Ì¨É϶¼¿É¶ÁµÄÅÌ£¬»¹¿ÉÒÔ´´½¨ .iso ÎļþÒÔ¹©ÏÂÔØºÍ·Ö·¢¡£
ÔÚÈÎºÎÆ½Ì¨ÉÏ´ÓÃüÁîÐÐÉÕ¼ CD ¶¼ÊÇÒ»¼þÁîÈ˷ѽâÇÒ·³ÔêµÄÊÂÇ飬Linux µ±È»Ò²²»ÀýÍâ¡£²»¹ý£¬ÓÉÓÚÔÚ¸÷ƽ̨ÉÏËùÓõ½µÄÃüÁîºÍÊõÓﶼʮ·ÖÏàËÆ£¬Òò´ËѧϰһÏÂÈçºÎÔÚ Linux ÉϿ̼ CD »¹ÊÇÊ®·ÖÓÐÓõġ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ