LinuxÖи¸×Ó½ø³Ì½»ÌæÖ´ÐеĆ–î}

ÒѾٱ¨ »Ø´ð
LinuxÖи¸×Ó½ø³Ì½»ÌæÖ´ÐеĆ–î}
ÎÊÔÚÏß¿Í·þ
ɨÂëÎÊÔÚÏß¿Í·þ
  • »Ø´ðÊý

    7

  • ä¯ÀÀÊý

    7,505

7¸ö»Ø´ð ĬÈÏÅÅÐò
  • ĬÈÏÅÅÐò
  • °´Ê±¼äÅÅÐò

ÒѲÉÄÉ
´úÂëûÓÐÎÊÌ⣬Ö÷ÒªÊÇwhileÖ±½Óprintf£¬Ê±¼äÌ«¶Ì£¬´òÆÁÊä³öËٶȸú²»ÉÏ£¬Äã¿´²»µ½¸¸½ø³ÌÊä³ö£¬ÏÂÃæÎÒÐÞ¸ÄÁËһϣ¬Ôö¼ÓÁËsleep£¬¿ÉÒÔ¿´µ½Ð§¹û¡£#includestdio.h#includeunistd.h#includesys/wait.husing namespace std;int main(int argc, char *argv[]){ int pid; pid = fork(); if(pid == 0) {//×Ó½ø³Ì while(1) { printf(child\n); sleep(1); } } else {//¸¸½ø³Ì while(1) { printf(parent\n); sleep(1); } } return 0;}Êä³ö½á¹û£ºparent
child
parent
child
parent
child
Ï£ÍûÄÜ°ïÖúµ½Ä㣬ÄãµÄºÃÆÀÊÇÎÒÇ°½øµÄ¶¯Á¦£¡Ð»Ð»£¡
È¡Ïû ÆÀÂÛ
1¡¢³öÏÖ²»Í¬Ë³ÐòµÄ´òÓ¡ÐÅÏ¢ÊǶԵģ»
2¡¢ÒòΪlinuxϵͳµÄ½ø³Ì¹ÜÀí³ÌÐò¶Ô¸÷¸ö½ø³ÌÊÇ·Öʱ¼äƬµ÷¶ÈµÄ£¬Ë³ÐòÊÇËæ»úµÄ¡£
3¡¢ÏëÒªÑϸñ¿ØÖÆÿ¸ö×Ó½ø³ÌµÄ˳Ðò£¬¿ÉÒÔͨ¹ýÔÚ²»Í¬µÄ×Ó½ø³ÌÔö¼ÓÑÓʱº¯Êý»òͨ¹ý½ø³Ìͬ²½µÄ»¥³âÁ¿/ÐźÅÁ¿À´ÊµÏÖ¡£
È¡Ïû ÆÀÂÛ
¿´ÎÒÏÂÃæµÄ³ÌÐò£¬»¹ÓÐÎÊÌâ¿ÉÒÔbaidu hiÎÒ

#include sys/types.h
#include stdio.h
#include unistd.h
#include stdlib.h

int main(int argc, const char *argv[])
{
int pid, pfd[2], seq;

if (argc != 2)
{
printf(Usage:\t %s num\n, argv[0]);
return 1;
}

seq = atoi(argv[1]);
if (seq = 0)
{
printf(Error: seq shall be larger than 0.\n);
return 1;
}

pid = fork();
if (pid == 0)
{
/* child 1 */
execlp(/bin/ls, /bin/ls, -R, ., NULL);
}
else if (pid 0)
{
wait(NULL);
printf(\n\nThis is parent process, child 1 finished.\n);
}

/* create pipe */
pipe(pfd);
pid = fork();

if (pid == 0)
{
/* child 2 */
int next = 1, i, fib = 0, tmp;
close(pfd[0]);
for (i = 0; i seq; i++)
{
write(pfd[1], &fib, sizeof(fib));
tmp = fib;
fib = next;
next += tmp;
}
/* -1 indicates the end of fibonacci seq */
fib = -1;
write(pfd[1], &fib, sizeof(fib));
return 0;
}
else if (pid 0)
{
/* parent */
int fib;

close(pfd[1]);
wait(NULL);

printf(In parent process, child 2 finished, time to print fibonacci sequence...\n);
while (read(pfd[0], &fib, sizeof(fib)) == sizeof(fib))
{
if (fib = 0)
{
printf(%4d , fib);
}
else
{
printf(\n);
break;
}
}
printf(\n All DONE!\n);
}

return 0;
}
È¡Ïû ÆÀÂÛ
CST Central Standard Time
Ò²ÊÇÓÃÕâ¸öËõдµÄ
È¡Ïû ÆÀÂÛ
°²×°Ê±°²×°ÍêÕûÁËô£¿

±£Ö¤ÐéÄâ»úÍøÂçÁ¬½ÓÕý³£µÄÇé¿öÏ£¬ÖÕ¶ËÖ´ÐУº
sudo apt-get install firefox
°²×°Firefoxä¯ÀÀÆ÷£¬Ó¦¸Ã¾Í²»»á³öÏÖÄãµÄÎÊÌâÁË£¨¶Ôubuntu£¬ÆäËûµÄlinux£¬Ê¹ÓÃÏàÓ¦µÄ°²×°Óï¾ä£©

------------------------
°²×°²»ÍêÕû£¬Ã»ÓÐÕýÈ·°²×°ä¯ÀÀÆ÷¡£linux×Ô¼º²»´øÍøÒ³ä¯ÀÀÆ÷µÄ£¬ÄãÐèÒª°²×°Firefox»òÕßOperaµÈä¯ÀÀÆ÷²ÅÄÜÕý³£ÉÏÍø

Äã¿ÉÒÔÈ¥±ðµÄ»úÆ÷ÉÏÏÂÔضÔÓ¦ÄãµÄlinux°æ±¾µÄä¯ÀÀÆ÷°²×°°ü£¬±ÈÈçubuntu¶ÔÓ¦µÄdeb°ü£¬¿½±´µ½ÄãµÄ»úÆ÷ÉÏ°²×°¡£»òÕßÓÃÃüÁîÐнøÐÐÔÚÏß°²×°
ÃüÁîÉÏÃæÓÐÁË
È¡Ïû ÆÀÂÛ
Ó²ÅÌÔö¼Óºó£º
1¡¢È·¶¨´ÅÅÌ£¬µÚÒ»¿éΪsda ,µÚ¶þ¿éΪsdb
fdisk -l
2¡¢¸ø´ÅÅÌ·ÖÇø
¿ÉÒÔÓÃfdisk,cfdisk£¬partedµÈÃüÁî,ÍƼöcfdisk
3¡¢·ÖÇøºó²ÅÄܸñʽ»¯,±ÈÈç¸ñʽ»¯µÚ¶þ¿éÅ̵ĵÚÒ»¸ö·ÖÇø
mke2fs -j /dev/sdb1
»òÕß
mkfs.ext3 /dev/sda3
È¡Ïû ÆÀÂÛ
#include stdio.h
#include unistd.h

int main()
{
int pid;

pid = fork();

if (pid 0)
{
printf(Failed to fork!\n);
return 1;
}

if (pid 0)
{
wait(NULL);
}
else
{
execlp(/bin/ls, /bin/ls, -l, NULL);
}

return 0;
}
È¡Ïû ÆÀÂÛ
ZOLÎÊ´ð > LinuxÖи¸×Ó½ø³Ì½»ÌæÖ´ÐеĆ–î}

¾Ù±¨

¸ÐлÄúΪÉçÇøµÄºÍг¹±Ï×Á¦Á¿ÇëÑ¡Ôñ¾Ù±¨ÀàÐÍ

¾Ù±¨³É¹¦

¾­¹ýºËʵºó½«»á×ö³ö´¦Àí
¸ÐлÄúΪÉçÇøºÍг×ö³ö¹±Ï×

ɨÂë²ÎÓëÐÂÆ·0ÔªÊÔÓÃ
ɹµ¥¡¢¶¥Â¥ºÀÀñµÈÄãÄÃ

ɨһɨ£¬¹Ø×¢ÎÒÃÇ
Ìáʾ

È·¶¨ÒªÈ¡Ïû´Ë´Î±¨Ãû£¬Í˳ö¸Ã»î¶¯£¿