/* * 3-5.c * * Created on: 2011-1-5 * Author: jinyong * fork函数,复制进程 */ #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/types.h> int main(void) { pid_t result; result = fork(); //调用fork函数返回值存在变量result /** * pid_t fork(void); * 执行成功则在子进程中返回0,在父进程会返回新建立子进程的进程号,失败则返回-1,失败原因存于errno中。 */ int newret; if( result == -1 ) //-1表示复制进程失败 { perror("创建子进程失败"); exit; } else if( result == 0 ) //返回0表示子进程 { newret = system("ls -l"); //调用ls程序,显示当前目录下的文件信息 } else { sleep(10); /** * unsigned int sleep(unsigned int second); * 让进程暂停执行一段时间 * second暂停时间为s * 执行成功返回0,失败返回剩余秒数 */ newret = system("ping www.baidu.com"); } }