fork compare to exec in linux c program
pid_t pid=fork()
it has 3 situation for the return result pid
0 child
>0 parent process
<0 fork fail
fork create a new process and it parent live alse when the child process had been created
Ïà¹ØÎĵµ£º
ÓÉÓÚ Linux Á¼ºÃµÄÓû§È¨ÏÞ¹ÜÀíÌåϵ£¬²¡¶¾ÍùÍùÊÇ Linux ϵͳ¹ÜÀíÔ±×îºó²ÅÐèÒª¿¼ÂǵÄÎÊÌâ¡£ÒÔÍù£¬Linux ÉϵÄɱ¶¾Èí¼þÖ÷ÒªÊÇΪÆóÒµµÄÓʼþºÍÎļþ·þÎñÆ÷ËùÉè¼ÆµÄ¡£Èç½ñ£¬Ëæ×Å Linux ×ÀÃæÓû§ÊýÁ¿µÄÔö³¤£¬×ÀÃæÓû§ÔÚÊÜÒæÓÚ Linux ϵͳ¶Ô²¡¶¾½ÏÇ¿µÄÌìÈ»ÃâÒßÁ¦µÄͬʱ£¬Ò²ÐèҪɱ¶¾Èí¼þÇåÀí´ÓÍøÂç»òUÅÌ´øÀ´µÄWIndows²¡¶¾¡£¾¡¹ÜÄÇЩ ......
Ò»Ö±ÏëдµãLINUXÖеÄFORKº¯Êý,µ«ÊǰÉ,ÎÒʵÔÚÊÇÌ«ÀÁÁË,ÔÙ¼ÓÉÏÎIJɲ»ÔõôºÃ,ËùÒԾʹÓÍøÉÏÕÒÁËÆªÐ´µÄ²»´íµÄÎÄÕÂ,¿´ÍêÖ®ºóÓ¦¸Ã¶ÔFORKº¯ÊýÓÐÒ»¶¨µÄÁ˽â~~
¸ø³öÈçÏÂC³ÌÐò£¬ÔÚlinuxÏÂʹÓÃgcc±àÒ룺
1 #include "stdio.h"
2 #include "sys/types.h"
3 #include "unistd.h"
4
5 int main()
6 ......
LinuxÄÚºËÔÚÆô¶¯µÄʱºò£¬ÄܽÓÊÕijЩÃüÁîÐÐÑ¡Ïî»òÆô¶¯Ê±²ÎÊý¡£µ±Äں˲»ÄÜʶ±ðijЩӲ¼þ½ø¶ø²»ÄÜÉèÖÃÓ²¼þ²ÎÊý»òÕßΪÁ˱ÜÃâÄں˸ü¸ÄijЩ²ÎÊýµÄÖµ£¬¿ÉÒÔͨ¹ýÕâÖÖ·½Ê½ÊÖ¶¯½«ÕâЩ²ÎÊý´«µÝ¸øÄںˡ£
Èç¹û²»Ê¹ÓÃÆô¶¯¹ÜÀíÆ÷£¬±ÈÈçÖ±½Ó´ÓBIOS»òÕß°ÑÄÚºËÎļþÓÓcp zImage /dev/fd0”µÈ·½·¨Ö±½Ó´ÓÉ豸Æô¶¯£¬¾Í²»ÄܸøÄں˴«µÝ ......
linux find ÃüÁîʹÓÃ
-name Ñ¡Ïî
ÎļþÃûÑ¡ÏîÊÇfindÃüÁî×î³£ÓõÄÑ¡ÏҪôµ¥¶ÀʹÓøÃÑ¡ÏҪôºÍÆäËûÑ¡ÏîÒ»ÆðʹÓá£
¿ÉÒÔʹÓÃijÖÖÎļþÃûģʽÀ´Æ¥ÅäÎļþ£¬¼ÇסҪÓÃÒýºÅ½«ÎļþÃûģʽÒýÆðÀ´¡£
ÏëÒªµÄµ±Ç°Ä¿Â¼¼°×ÓĿ¼ÖвéÕÒÎļþÃûÒÔÒ»¸ö´óд×Öĸ¿ªÍ·µÄÎļþ£¬¿ÉÒÔÓãº
$ find . -name "[A-Z]*" -print
ÏëÒªÔÚ/etcĿ¼Öв ......
ÔÚʵÏÖÇý¶¯³ÌÐòµÄmmapº¯Êýʱ£¬Òª×¢ÒâÓ³É䵨ַµÄת»»ÎÊÌ⣬¼û´úÂë¡£
¶¨ÒåÒ»¸öÉ豸½á¹¹Ì壺
struct leedriver
{
struct cdev cdev;
unsigned char mem[MEMSIZE];
};
ÕâÀïÃæÕâ¸öMEMSIZE£¬×îС¶¼ÒªÊÇ4096£¬ÒòΪÄÚ´æÓ³ÉäÊÇÒÔҳΪµ¥Î»µÄ¡£
ÔÚʵÏÖsimple_remap_mmapº¯Êýʱ£¬´úÂëÈçÏÂ
static int simple_remap_mmap(stru ......