Daily Archives: 2019年1月5日

Linux编程–进程的基本使用

1、创建进程的函数为fork

  • 子进程会在当前进程的基础上创建
  • 创建的子程与当前进程都会执行进程后的代码
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>

int main(){

    pid_t pid = getpid();
    printf("pid:%u\n" ,pid);

    // 从此处开始,后面的代码会被执行2次
    pid_t fork_pid = fork();
    if (fork_pid == -1){
        perror("fork error:");
        exit(1);
    }else if (fork_pid == 0){
        // 为0是返回给子线程,表明线程创建成功
        // 当前操作在子线程中执行
        printf("子进程:pid:%u, ppid:%u\n", getpid(), getppid());
    }else{
        // 父线程中返回的是子线程id号
        printf("父进程:pid:%u, ppid:%u\n", getpid(), getppid());
    }
    printf("fork:%u\n", fork_pid);
    return 0;
}

输出结果为:[……]

继续阅读

Linux操作系统基本介绍

1、程序与进程

  • 程序相当于剧本,而进程则相当于根据剧本上演的戏;

2、多进程

  • 单道程序设计模式:
    • 同一时间只能有一个进程占用CPU资源
    • 如:DOS操作系统
  • 多道程序设计模式:
    • CPU划分多个时间轮片,通过时钟中断的方式切换进程,硬件手段
    • 如:100ns为一个时间轮片,人的眼睛识[……]

      继续阅读