shell程序具有执行权限的文件名?

是说脚本吗- -。 脚本一般是.sh 如果是c编译产生的可执行文件还可以是.o 一般没有扩展名也可以- -。 linux下,当你使用./xxx运行一个程序时,首先是SHELL来接管你的输入,然后用fork派生子进程,最后用execv系列将你的那个程序的代码交给内核 1。

检查你运行的文件的属性,其属性在它的I节点中描述,如果你的那个文件不是可执行的属性,结果就会拒绝执行,如果有可执行的属性,但可执行的权限高于你目前正在使用的用户的权限,拒绝执行 2。检查是SHELL文件吗?

如果是,调用相应的SHELL来解析你的这个脚本文件 3。是ELF文件格式吗??

是coff文件格式吗?

是a.out文件格式吗?

如果是其中任何一种,并且当前的LINUX内核都支持这三种文件格式,那么就由操作系统内核分析你的文件格式,去掉文件头信息,将真正的代码,数据等加载进内存(实际过程并不是这样的,只不过为了描述简单,所以省略了很多细节,更多详细说明,请参见内核中的execv系统调用)..

. 4.等待系统的进程调度,当内核选中你的那个程序的时候,你的那个程序就得到运行了