进程单元测试题
一、选择题(40分) 1. 如果键盘输入为abcdef,程序如下所示,打印结果应该是() char buffer [6]; fgets(buffer, 6, stdin); printf(“%s”, buffer); [A] abcde [B] abcdef [C] abcdef 后出现乱码[D]段错误 2. fread()返回值的含义是() [A] 读取的字节数[B]读取的对象数[C]缓冲区的首地址[D]随机数 3. 如果umask的值为022,创建文件时指定的权限是775,则该文件的实际权限为() [A] 755[B] 722[C] 753[D] 022 4. 用open()创建新文件时,若该文件存在则可以返回错误信息的参数是() [A] O_CREAT [B] O_EXCL [C] O_TRUNC [D] O_NOCTTY 5. 下列哪个函数不会改变文件读写位置() [A] fread [B] fwrite [C] rewind [D] ftell 6. lseek()操作成功时返回值的含义是() [A]新的文件位移量[B]文件位置指针移动的字节数 [C]原先的文件位移量[D]总是0 7. 如果要删除一个文件需要哪种权限() [A]对文件具有写权限[B]对文件具有可执行的权限 [C]对目录具有写权限[D]对目录具有可执行的权限 8. 下列不是用户进程的组成部分的是() 9.以下哪种不是进程的类型() [A]批处理进程[B]管理进程 [C]交互进程 [D]守护进程 10.以下哪种方法无法查看进程的信息() [A] ps[B]查看/proc 目录 [C] kill [D] top 11.可以改变正在运行的进程优先级的命令是( [A] nice[B] renice[C] kill ) [D] set [A]正文段 [B]用户数据段 [C]系统数据段 [D] elf 段 12. 以下哪种用法可以等待接收进程号为pid的子进程的退出状态() [A] waitpidfpid, if((pidl=fork()) = = 0) sleep(3); printf(<4infol from child process_l\n,,); exit(O); printf(44info2 from child process_l\n,,); } else ( if((pid2=fork()) = = 0) ( sleep(l); printf(“infol from child process_2\n^,); exit(O); } else ( wait(NULL); wait(NULL); printf(“infol from parent process\n^,); printf(44info2 from parent process,,); _exit(0); } } 四、问答题(20分) 1. 用文件IO分别实现标准IO中的(r, r+, w, w+, a, a+),文件名由argv[l]传入程序. (O_RDONLY, O_WRONLY, O_RDWR, O_CREAT, O_TRUNC, O_APPEND) (6分) 2. 指出创建守护进程的步骤(8分) 3. 请画出Linux中进程的状态切换图(6分)