linuxËøµÄÓ¦ÓÃ
ѧ¹ý²Ù×÷ϵͳµÄÈËÖªµÀÓÐÒ»¸ö·Ç³£ÖøÃûµÄÎÊÌ⣺¶ÁÕߣдÕßÎÊÌâ¡£¶ÁÕߣдÕßÎÊÌâÊÇָϵͳµ±ÖеĵÄ×ÊÔ´ÔÚijһʱ¼äÀï¿ÉÒÔͬʱÔÊÐí¶à¸ö½ø³Ì¶Á£¬µ«Ö»ÔÊÐíÒ»¸ö½ø³Ìд¡£Õâ¸ö½ø³Ìͬ²½ÎÊÌâµÄ½â·¨ÓÐÐí¶àÖÖ£¬ÔÚwindowϵͳÀïÓû¥³â±äÁ¿À´½øÐнø³ÌµÄͬ²½¡£ÔÚLinuxÀïÓÐÁíÒ»ÖÖ·½·¨£¬ÄǾÍÊÇÎļþËø£¬ÎļþËøÀïµÄÎļþ²»µ¥µ¥Ö»Ö¸Æ½Ê±Ëù˵µÄÎļþËüÓ¦°üº¸ü¹ã·ºµÄº¬Òâ¡£¼´Ò²Ö¸ÏµÍ³ËùÓпÉÒÔ·ÃÎʵÄϵͳ×ÊÔ´¡£¿ÉÒÔ¸øÎļþ¼Ó¶ÁËø£¬Ò²¿ÉÒÔ¸øÎļþ¼ÓÐ´Ëø£¬Ò»¸ö½ø³Ì¸øÒ»¸öÎļþ¼Ó¶ÁËøºóÆäËûµÄ½ø³ÌÒ²¿ÉÒÔ¸øÕâ¸öÎļþ¼Ó¶ÁËø£¬µ«ÊDz»¿ÉÒÔ¸øÕâ¸öÎļþ¼ÓÐ´Ëø£¬Ö±µ½¸øÕâ¸öÎļþ¼Ó¶ÁËøµÄËùÓнø³Ì¶¼ReleaseÁËËü×Ô¼ºËù¼ÓµÄËøºó²Å¿ÉÒÔ¡£Èç¹ûÒ»¸ö½ø³Ì¸øÒ»¸öÎļþ¼ÓÐ´Ëøºó£¬²»ÔÊÐíÆäËü½ø³Ì¶ÔÕâ¸öÎļþ¼ÓÈκεÄËø¡£ÏÂÃæÊÇËøµÄ¾ßÌåÓ¦Óᣣ¯
ÆäÖÐÓõ½Á˶à¸öϵͳº¯Êý£ºfcntl(),getpid(),getchar,open(),flock£¬read(),write()¡£
#include<stdio.h>
#include<unistd.h>
#include<fcntl.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<string.h>
int lock_set(int fd,struct flock *lock)
{
if(fcntl(fd,F_SETLK,lock)==0)
{
if(lock->l_type==F_RDLCK)
printf("set read lock,pid:%d\n",getpid());
else if(lock->l_type==F_WRLCK)
printf("set write lock,pid:%d\n",getpid());
else if(lock->l_type=F_UNLCK)
printf("release lock,pid:%d\n",getpid());
}
else
{
printf("set lock operatiion fail\n");
return -1;
}
return 0;
}
int lock_test(int fd,struct flock *lock)
{
if(fcntl(fd,F_GETLK,lock)==0)
{
if(lock->l_type==F_UNLCK)
printf("lock can be set by fd\n");
else{
if(lock->l_type=F_RDLCK)
printf("can't set lock,read lock can be set by:%d\n",lock->l_pid);
el
Ïà¹ØÎĵµ£º
ѧϰUbuntu LinuxºÜ¾ÃÁË£¬ÓÉÓںܶàÈ˶ÔÓÚUbuntu Linux·ÖÇøÓÐËùÌáÎÊ£¬ËùÒÔÏ£ÍûÒÔÏÂÎÄÕ¶Դó¼ÒÓÐËù°ïÖú¡£Ubuntu Linux ·ÖÇø¸ÅÄ Ê×ÏȽéÉÜÒ»ÏÂlinuxÖеķÖÇø¸ÅÄÕâ¸ö¿ÉÊǰÑÒ»¿ªÊ¼Ñ§Ï°µÄÎÒº¦¿àÁË¡£ÔÚ Linux Öй涨£¬Ã¿Ò»¸öÓ²ÅÌÉ豸×î¶àÄÜÓÐ 4 ¸öÖ÷·ÖÇø£¨ÆäÖаüº¬À©Õ¹·ÖÇø£©¹¹³É£¬ÈκÎÒ»¸öÀ©Õ¹·ÖÇø¶¼ÒªÕ¼ÓÃÒ»¸öÖ÷·ÖÇøºÅÂë£ ......
<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->
ÎÒÃÇ˵¾ä´ó°×»°£¬Ëùν“ÓÎ˵Õß”£¨
lobbist
£¬
lobber
£©¾ÍÊǹŴúµÄ“說¿Í”£¬Ö»ÊÇÈËÃÇÆ½ÈÕ²»ºÃÒâ˼Õâô˵¶øÒÑ¡£µ±½ñ£¬¸ÊÔ¸×öÒ»Ãû
Linux
ÓÎ˵ÕßÊǺܹâÈÙµÄÊÂÇé¡£´Ë»°µ±Õ棿 ......
ÔÚ struct mntent ÖеijÉÔ±Óë /etc/fstab ÎļþÖеÄÌõÄ¿ÊÇÖ±½Ó¶ÔÓ¦µÄ¡£ËüµÄÄÚÈÝÈçÏ£º
struct mntent {
char *mnt_fsname; /* ¹ÒÔØµÄÎļþϵͳµÄÃû×Ö */
char *mnt_dir; /* ¹ÒÔØµã */
char *mnt_type; /* ÎļþϵͳÀàÐÍ£ºufs¡¢nfs µÈ */
char *mnt_opts; /* Ñ¡ÏÒÔ¶ ......
ÓÉÓÚ fc3 ÄÚºËĬÈÏ fat32 Îļþϵͳ×Ö·û±àÂëÊÇ ascii£¬Èç¹ûÓÅÅ̵ÄÎļþÃû°üº¬ÖÐÎÄ£¬ÄÇôÔÚת»»Ê±»á³öÎÊÌ⣬ӦÓóÌÐò¾Í»áʧȥÏìÓ¦¡£¾ßÌåµÄ±íÏÖÓжàÖÖ£¬±ÈÈç×ÀÃæ¼ÙËÀ£¬¹Ø»úʱÌáʾÎÞ·¨Ð¶ÔØ·ÖÇøµÈµÈ
½â¾öµÄ°ì·¨ÊÇÔÚ¹ÒÔØÊ±£¬¸ù¾ÝÓïÑÔ»·¾³ locale µÄÖµ£¬Ê¹ÓùÒÔØ²ÎÊý¡£Èç¹ûÊÇ UTF- ......
Ó²Å̽ӿÚÊÇÓ²ÅÌÓëÖ÷»úϵͳ¼äµÄÁ¬½Ó²¿¼þ£¬×÷ÓÃÊÇÔÚÓ²ÅÌ»º´æºÍÖ÷»úÄÚ´æÖ®¼ä´«ÊäÊý¾Ý¡£²»Í¬µÄÓ²Å̽ӿھö¶¨×ÅÓ²ÅÌÓë¼ÆËã»úÖ®¼äµÄÁ¬½ÓËÙ¶È£¬ÔÚÕû¸öϵͳÖУ¬Ó²Å̽ӿڵÄÓÅÁÓÖ±½ÓÓ°Ïì×ųÌÐòÔËÐпìÂýºÍϵͳÐÔÄܺûµ¡£´ÓÕûÌåµÄ½Ç¶ÈÉÏ£¬Ó²Å̽ӿڷÖΪIDE¡¢SATA¡¢SCSIºÍ¹âÏËͨµÀËÄÖÖ£¬IDE½Ó¿ÚÓ²Å̶àÓÃÓÚ¼ÒÓòúÆ·ÖУ¬Ò²²¿·ÖÓ¦ÓÃÓÚ· ......