问题描述
参考以上示例程序中建立并发进程的方法,编写一个父子协作进程,父进程创建一个子进程并控制它每隔 3 秒显示一次当前目录中的文件名列表。
设计思路
由父进程创建子进程,父进程等待子
进程的完成,子进程中执行 ls 命令再次创建了子进程 ps(不必须要创建两个子进程),之后也是等待子进程的执行,子进程完成 ls 命令后,由于信号量 sleep(3)的设置,间隔 3秒后再次执行该程序,如此循环,直到手动停止。
程序实现
Pctl.c
#include "pctl.h"
int main(int argc, char *argv[])
{
char *args[] = {
"/bin/ls","-a",NULL}; //子进程要缺省执行的命令
int pid_1,pid_2; //存放子进程号
int status_1,status_2; //存放子进程返回状态
while(1)