vfork 例子祥解

2021-06-11 07:19:58 字數 1345 閱讀 8505

vfork 例子祥解

#include

#include

#include

#include

int main(int argc, const char *argv)

else if(child_t == 0)

else

printf("end ............... \n");

return 0;}

遮蔽_exit(0);後的gdb除錯資訊:

breakpoint 1, main (argc=1, argv=0xbffff954) at main.cpp:9

9     printf("start ..............\n");

(gdb) c

continuing.

start ..............      //開始執行

in child:pid =25272  //**出子程序

end ...............       //子程序,退出。

breakpoint 3, main (argc=0, argv=0xbffff954) at main.cpp:24       //子過程完成後才會執行父程序,argc=0,說明棧空間已被釋放

24         printf("in parent:child_t id = %d,pid = %d\n",child_t,getpid());//父程序。

(gdb) c

continuing.

in parent:child_t id = 25272,pid = 25269

breakpoint 4, main (argc=0, argv=0xbffff954) at main.cpp:26

26     printf("end ............... \n");

(gdb) c

continuing.

end ............... //父程序,退出。因為argc=0

,但argv[0_tes]="/work/test/smallt/test.i386.elf"還是存在,所以又開始執行。所以進入了死迴圈了。

breakpoint 1, main (argc=1, argv=0xbffff954) at main.cpp:9

9     printf("start ..............\n");

//又開始執行了。

(gdb)  p argv[0]

$1 = 0xbffffacd "/work/test/small_test/test.i386.elf"

(gdb)

tar指令祥解

tar命令 tar可以為檔案和目錄建立檔案。利用tar,使用者可以為某一特定檔案建立檔案 備份檔案 也可以在檔案中改變檔案,或者向檔案中加入新的檔案。tar 最初被用來在磁帶上建立檔案,現在,使用者可以在任何裝置上建立檔案,如軟盤。利用tar命令,可以把一大堆的檔案和目錄全部打包成乙個檔案,這對於備...

crontab使用祥解

名稱 crontab 使用許可權 所有使用者 使用方式 crontab u user file crontab u user 說明 crontab 是用來讓使用者在固定時間或固定間隔執行程式之用,換句話說,也就是類似使用者的時程表。u user 是指設定指定 user 的時程表,這個前提是你必須要有...

IP位址祥解

ip位址祥解 a 類位址 最大的位址組是a 類位址組。可通過32 位位址中的唯一的一位,即最高位來識別a 類網路位址。0 n n n n n n n l l l l l l l l l l l l l l l l l l l l l l l l 在這個分組中,你可以看到用乙個3 2 位數表示乙個a ...