一、实验目的
设计并实现Unix 的“time” 命令。“mytime” 命令通过命令行参数接受要运行的程序,创建一个独立的进程来运行该程序,并记录程序运行的时间。
二、实验内容
在Windows
下实现:
- 使用CreateProcess()来创建进程
- 使用WaitForSingleObject()在“mytime”命令和新创建的进程之间同步
- 调用GetSystemTime()来获取时间
在Linux下实现:
- 使用fork()/execv()来创建进程运行程序
- 使用wait()等待新创建的进程结束
- 调用gettimeofday()来获取时间
三、实验环境
windows 7和ubuntu 10.10
四、程序设计与实现
主要API函数说明:
windows:
BOOL CreateProcess
(
LPCTSTR lpApplicationName,
LPTSTR lpCommandLine,
LPSECURITY_ATTRIBUTES lpProcessAttributes。
LPSECURITY_ATTRIBUTES lpThreadAttributes,
BOOL bInheritHandles,
DWORD dwCreationFlags,
LPVOID lpEnvironment,
LPCTSTR lpCurrentDirectory,
LPSTARTUPINFO lpStartupInfo,
LPPROCESS_INFORMATION lpProcessInformation
);
DWORD WaitForSingleObject(
HANDLE hHandle,
DWORD dwMilliseconds
);
linux:
int execv(c