首页 > 试题广场 >

Linux执行ls,会引起哪些系统调用()

[不定项选择题]
Linux执行ls,会引起哪些系统调用()
  • nmap
  • read
  • execve
  • fork
shell命令执行机制就是 fork+exec, fork是分身,execve是变身。ls命令要列出目录下的文件,所以read也会调用。
发表于 2016-06-16 22:30:23 回复(6)
nmap也就是Network Mapper,最早是Linux下的网络扫描和嗅探工具包。nmap 是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。
发表于 2016-06-17 20:13:00 回复(1)
注意题目说的是系统调用(System Call)不是库函数,是linux内核提供给外界的接口,库函数只是封装了这些接口而已

ls会读文件夹所以用了read,
调用ls这个程序的时候会使用execv,
题目没说是shell里调用ls所以没有fork,也许是你代码里手动通过exec系的函数调用ls
发表于 2016-09-12 01:21:36 回复(0)
 shell 执行外部命令,  先 fork 一个 一模一样子进程(子shell),对于二进制命令,execve会 用 外部命令 取代先前fork的子shell.。。。这里read是干什么的?
发表于 2016-08-24 16:42:36 回复(0)
直觉
发表于 2016-06-15 15:13:20 回复(3)