我想知道cp
命令是如何執行的,我的意思是它從最頂層流向內核,然後再返回?它的流程是什麼,當我們寫cp
命令時發生了什麼以及它是如何發生的?請詳細說明。Linux中「cp」命令的流程圖
@所有 其reallu急,我知道這一點,所以請提前回復儘快
感謝,
新手
我想知道cp
命令是如何執行的,我的意思是它從最頂層流向內核,然後再返回?它的流程是什麼,當我們寫cp
命令時發生了什麼以及它是如何發生的?請詳細說明。Linux中「cp」命令的流程圖
@所有 其reallu急,我知道這一點,所以請提前回復儘快
感謝,
新手
你也許可以下載源代碼。如果你有一些Debian的:
#this will tell you what package cp comes from
dpkg -S "$(which cp)"
apt-get source the_package_name_here
foo.c
內容:
this is foo
strace cp foo.c bar.c
給了我這個:
execve("/bin/cp", ["cp", "foo.c", "bar.c"], [/* 58 vars */]) = 0
//several calls to open, fstat64, mmap2, close
open("foo.c", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0664, st_size=12, ...}) = 0
open("bar.c", O_WRONLY|O_CREAT|O_EXCL|O_LARGEFILE, 0664) = 4
fstat64(4, {st_mode=S_IFREG|0664, st_size=0, ...}) = 0
read(3, "this is foo\n", 32768) = 12
write(4, "this is foo\n", 12) = 12
read(3, "", 32768) = 0
close(4) = 0
close(3) = 0
close(0) = 0 // close stdin
close(1) = 0 // close stdout
close(2) = 0 // close stderr
exit_group(0) = ?
其不客氣的說,我想答案儘快。 – 2011-07-08 07:46:57