linux statº¯Êý½²½â
statº¯Êý½²½â£¨×ª£©
±íÍ·Îļþ: #include <sys/stat.h>
#include <unistd.h>
¶¨Ò庯Êý: int stat(const char *file_name, struct stat *buf);
º¯Êý˵Ã÷: ͨ¹ýÎļþÃûfilename»ñÈ¡ÎļþÐÅÏ¢£¬²¢±£´æÔÚbufËùÖ¸µÄ½á¹¹ÌåstatÖÐ
·µ»ØÖµ: Ö´Ðгɹ¦Ôò·µ»Ø0£¬Ê§°Ü·µ»Ø-1£¬´íÎó´úÂë´æÓÚerrno
´íÎó´úÂë:
ENOENT ²ÎÊýfile_nameÖ¸¶¨µÄÎļþ²»´æÔÚ
ENOTDIR ·¾¶ÖеÄĿ¼´æÔÚµ«È´·ÇÕæÕýµÄĿ¼
ELOOP Óû´ò¿ªµÄÎļþÓйý¶à·ûºÅÁ¬½ÓÎÊÌ⣬ÉÏÏÞΪ16·ûºÅÁ¬½Ó
EFAULT ²ÎÊýbufΪÎÞЧָÕ룬ָÏòÎÞ·¨´æÔÚµÄÄÚ´æ¿Õ¼ä
EACCESS ´æÈ¡Îļþʱ±»¾Ü¾ø
ENOMEM ºËÐÄÄÚ´æ²»×ã
ENAMETOOLONG ²ÎÊýfile_nameµÄ·¾¶Ãû³ÆÌ«³¤
#include <sys/stat.h>
#include <unistd.h>
#include <stdio.h>
int main() {
struct stat buf;
stat("/etc/hosts", &buf);
printf("/etc/hosts file size = %d\n", buf.st_size);
}
-----------------------------------------------------
struct stat {
dev_t st_dev; //ÎļþµÄÉ豸±àºÅ
ino_t st_ino; //½Úµã
mode_t st_mode; //ÎļþµÄÀàÐͺʹæÈ¡µÄȨÏÞ
nlink_t st_nlink; //Á¬µ½¸ÃÎļþµÄÓ²Á¬½ÓÊýÄ¿£¬¸Õ½¨Á¢µÄÎļþֵΪ1
uid_t st_uid;  
Ïà¹ØÎĵµ£º
1¡¢LinuxÎļþµÄÀ©Õ¹Ãû£»
һ̸µ½ÎļþÀàÐÍ£¬´ó¼Ò¾ÍÄÜÏëµ½WindowsµÄÎļþÀàÐÍ£¬±ÈÈçfile.txt¡¢file.doc¡¢file.sys¡¢file.mp3¡¢file.exeµÈ£¬¸ù¾ÝÎļþµÄºó׺¾ÍÄÜÅжÏÎļþµÄÀàÐÍ¡£µ«ÔÚLinuxÒ»¸öÎļþÊÇ·ñÄܱ»Ö´ÐУ¬ºÍºó׺ÃûûÓÐÌ«´óµÄ¹ØÏµ£¬Ö÷Òª¿´ÎļþµÄÊôÐÔÓйء£µ«ÎÒÃÇÁ˽âÒ»ÏÂLinuxÎļþµÄºó׺Ãû»¹ÊÇÓбØÒªµÄ£¬ÌرðÊÇÎÒÃÇ×Ô¼º´´½ ......
1:ÏÂÔØÉçÇø°æµÄmysql£¬
ÒªÏÂÔØÁ½¸öÎļþ£¬·Ö±ðΪ£ºMySQL-server-community-5.1.46-1.rhel5.i386.rpm
......
ÐźÅÊÇLinux±à³ÌÖзdz£ÖØÒªµÄ²¿·Ö£¬±¾ÎĽ«Ïêϸ½éÉÜÐźŻúÖÆµÄ»ù±¾¸ÅÄî¡¢Linux¶ÔÐźŻúÖÆµÄ´óÖÂʵÏÖ·½·¨¡¢ÈçºÎʹÓÃÐźţ¬ÒÔ¼°ÓйØÐźŵöϵͳ
µ÷Óá£
ÐźŻúÖÆÊǽø³ÌÖ®¼äÏ໥´«µÝÏûÏ¢µÄÒ»ÖÖ·½·¨£¬ÐźÅÈ«³ÆÎªÈíÖжÏÐźţ¬Ò²ÓÐÈ˳Æ×÷ÈíÖжϡ£´ÓËüµÄÃüÃû¿ÉÒÔ¿´³ö£¬ËüµÄʵÖʺ ......
±ê×¼ÐźÅÓëʵʱÐźÅ
0-31 Õâ 32 ¸öÐźųÆÎª±ê×¼Ðźš£
´Ó 32 µ½ 63 Ö®¼äµÄ 32 ¸öÐźųÆÎªÊµÊ±Ðźš£
¿ÉÒÔͨ¹ý man 7
signal ²é¿´¶Ô“±ê×¼ÐźŔºÍ“ʵʱÐźŔÏêϸµÄÃèÊö¡£
ÐźÅÅŶÓ
ÿ¸ö½ø³ÌÓµÓÐÒ»¸öÐźŵȴý¶ÓÁС£ÔÚ task_struct ÖÐÓÐÒ»¸ö struct sigpending pending Óò£¬
¾ÍÊǽø³ÌµÄÐźŠ......