linuxÖеÄoutb¡¢outw¡¢inb¡¢inw
ÔÚlinuxµÄÇý¶¯³ÌÐòÖУ¬¶¼»áʹÓôóÁ¿µÄoutb¡¢outw¡¢inb¡¢inwµÈµÈºêÀ´·ÃÎÊÓ²¼þ»ò¼Ä´æÆ÷¡£ÕâЩºêµÄ¶¨Òå¶¼ÔÚÏàÓ¦´¦ÀíÆ÷ÌåϵϵÄinclude\asmĿ¼ÏµÄio.hÖж¨Òå¡£×·¾¿ÏÂÈ¥£¬ÕâЩºê×îÖÕ¾ÍÊÇÒ»¸övolatile±äÁ¿µÄµÄ¸³Öµ£º
#define __arch_putb(v,a) (*(volatile unsigned char *)(a) = (v))
#define __raw_writeb(v,a) __arch_putb(v,a)
#define outb(v,p) __raw_writeb(v,__io(p))
ÔÚ(*(volatile unsigned char *)(a) = (v))ÖУ¬aÊÇÒ»¸öÎïÀíµØÖ·£¨ÊµµØÖ·£¬¶àÊýÊÇÌØÊ⹦ÄܼĴæÆ÷µØÖ·£©¡£(volatile unsigned char *)¶Ôa½øÐÐÀàÐÍת»»£¬³ÉΪһ¸öÖ¸Ïò¸ÃµØÖ·Ö¸Õ룬×îºó*(volatile unsigned char *)(a)ÒýÓøÃÖ¸Õë¶Ô¸ÃµØÖ·¸³Öµv¡£ÕâÑù¾Í¿ÉÒÔ´ïµ½·ÃÎʵײãÓ²¼þµÄÄ¿µÄÁË¡£
Ïà¹ØÎĵµ£º
LinuxÖжÔÓÚһЩ´óÈÎÎñÐèÒªÔÚºǫ́ÔËÐУ¬·ñÔò»áÒ»Ö±Õ¼ÓÃÆÁÄ»£¬·À°Ê¹ÓÃÕßʹÓÃÖÕ¶ËÈ¥Íê³ÉÆäËüµÄÈÎÎñ¡£ÆäÖлáÌṩÈçϼ¸¸öÃüÁîÀ´½øÐкǫִ́ÐУº
1¡¢ ÉèÖÃcrontabÎļþ£¬²¢ÓÃËüÀ´Ìá½»×÷Òµ£»ÆäÖÐcron ϵͳµ÷¶È½ø³Ì£¬¿ÉÒÔʹÓÃËüÔÚÿÌìµÄ·Ç¸ß·å¸ººÉʱ¼ä¶ÎÔËÐÐ×÷Òµ£¬»òÔÚÒ»ÖÜ»òÒ»ÔÂÖеIJ»Í¬Ê±¶ÎÔËÐС£
2¡¢ ʹÓÃatÃüÁîÀ ......
Linux Shell »·¾³ÖÐÖ§³ÖÊäÈëÊä³öÖØ¶¨Ïò£¬Ó÷ûºÅ<ºÍ>À´±íʾ¡£0¡¢1ºÍ2·Ö±ð±íʾ±ê×¼ÊäÈë¡¢±ê×¼Êä³öºÍ±ê×¼´íÎóÐÅÏ¢Êä³ö£¬¿ÉÒÔÓÃÀ´Ö¸¶¨ÐèÒªÖØ¶¨ÏòµÄ±ê×¼ÊäÈë»òÊä³ö£¬±ÈÈç 2>a.txt ±íʾ½«´íÎóÐÅÏ¢Êä³öµ½Îļþa.txtÖС£
ͬʱ£¬»¹¿ÉÒÔÔÚÕâÈý¸ö±ê×¼ÊäÈëÊä³öÖ®¼äʵÏÖÖØ¶¨Ïò£¬±ÈÈ罫´íÎóÐÅÏ¢ÖØ¶¨Ïòµ½±ê×¼Êä³ö£¬¿ÉÒÔÓà 2> ......
#include <stdio.h>
#include <pthread.h>
#include <stdlib.h>
#include <unistd.h>
pthread_mutex_t wqy_mutex_pause = PTHREAD_MUTEX_INITIALIZER;
pthread_cond_t wqy_cond_pause = PTHREAD_COND_INITIALIZER;
bool wqy_pthread_pause = false;
void wqy_pthread_suspend(void)
{
if ......
1£®ÎļþµÄ´´½¨ºÍ¶Áд
¡¡¡¡µ±ÎÒÃÇÐèÒª´ò¿ªÒ»¸öÎļþ½øÐжÁд²Ù×÷µÄʱºò,ÎÒÃÇ¿ÉÒÔʹÓÃϵͳµ÷Óú¯Êýopen.ʹÓÃÍê³ÉÒÔºóÎÒÃǵ÷ÓÃÁíÍâÒ»¸öcloseº¯Êý½øÐйرղÙ×÷.
¡¡¡¡¡¡¡¡int open(const char *pathname,int flags);
¡¡¡¡¡¡¡¡int open(const char *pathname,int flags,mode_t mode);
¡¡¡¡¡¡¡¡int close(int fd);
......
++ʵÏÖRedHat·ÇÕý³£¹Ø»úµÄ×Ô¶¯´ÅÅÌÐÞ¸´
ÏȵǼµ½·þÎñÆ÷£¬È»ºóÔÚ/etc/sysconfigÀïÔö¼ÓÒ»¸öÎļþautofsck,ÄÚÈÝÈçÏ£º
AUTOFSCK_DEF_CHECK=yes
PROMPT=yes
++¸Ä±äÎļþ»òĿ¼֮×îºóÐÞ¸Äʱ¼ä(±äΪµ±Ç°Ê±¼ä)
Ö´Ðиñʽ£ºtouch name ( name ¿ÉΪÎļþ»òĿ¼Ãû³Æ¡£)
++ÈçºÎÉèÖÃloginºó»¶ÓÐÅÏ¢
ÐÞ¸Ä/etc/motd£¬ÍùÀïÃæÐ´ÈëÎı¾ ......