Chinaunix首页 | 论坛 | 博客
  • 博客访问: 35257
  • 博文数量: 12
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 220
  • 用 户 组: 普通用户
  • 注册时间: 2013-03-17 19:28
文章分类

全部博文(12)

文章存档

2013年(12)

我的朋友

分类: 嵌入式

2013-08-08 10:35:42

UNIX系统中的进程

1、进程标识

    主要两个函数:pid_t getpid(void) 返回调用该函数的进程ID
                            pid_t getppid(void) 返回父进程的ID
        我第一次接触时对pid_t很好奇,在http://blog.chinaunix.net/uid-20753645-id-1877915.html这里找到了答案,在这里对“dolinux”说声谢谢。
        关于进程状态还有一点,查看当前系统的进程信息命令:ps,ps -aux具体可以man ps查看具体的在线帮助。

2、进程的创建fork

     pid_t fork(void)  返回值:a、一个大于0的整数,则处于父进程中
                                         b、等于0 ,则处于子进程中
                                         c、等于-1,则出错,并置errno
         这里生成的子进程是父进程的一个副本。利用这个函数可以生成进程扇或进程链。
    从fork函数那个点开始父子进程就开始并发的运行,顺序取决于进程的调度。

3、wait函数

      pid_t wait(NULL)阻塞到子进程结束,返回子进程的ID

4、exec函数     

     当迪欧用fork产生一个子进程,这个子进程只是父进程的副本,这样没什么用。这就需要用到exec族函数了:execl、execle、execlp、execv、execvp、execve
    l:显示传递参数
    v:参数先放在一个数组中,然后把这个数组名当做参数传给exec函数
    p:与第一个参数(路径)有关,如果是相对或绝对路径就和execl一样

5、后台进程与守护进程

    大多数命令解释程序将一个以&结束的行解释为应该由后台进程执行的命令。命令解释程序创建了一个后台进程时,它在发出提示符并接受其他的命令之前不用等待进程的结束。而且,用Ctrl+C不能终止后台进程,可以用kill + 进程ID 。这个ID号可以用ps命令查的。
     守护进程(daemon)是一个通常能无限期运行的后台进程。
    
阅读(631) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~