进程的创建与回收学习笔记

这篇具有很好参考价值的文章主要介绍了进程的创建与回收学习笔记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、进程内容:

二、进程常用命令 

三、创建子进程 

 四、子进程进阶

 五、进程的退出

 六、进程的回收


一、进程内容:

程序:

        存放在磁盘上的指令和数据的有序集合(文件)

        静态的

进程:

        执行一个程序所分配的资源的总称

        进程是程序的一次执行过程

        动态的,包括创建、调度、执行和消亡

进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记

进程是在内存中运行,即RAM

flash是ROM,即磁盘,可以存放程序

 进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记

进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记

进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记

 进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记

交互进程就是运行可执行文件,比如./testdemo

批处理进程,就是按顺序执行脚本语言

守护进程不能用ctrl-c关闭,无法通过shell命令控制

进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记

进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记

只有运行态在消耗CPU。

二、进程常用命令 

 进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记

ps:查看当前终端下的进程

ps -e:查看linux中所有的进程

ps -elf:查看所有进程的详细信息

进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记

top -p PID:查看某个进程信息

进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记 进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记

 ctrl+z:把运行的前台进程转为后台并停止

./test & 把test程序后台运行

三、创建子进程 

 在linux下,除了0号进程外的任何进程都是别人创建的,都是子进程

进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记 进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记

运行结果:

进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记 一个是父进程打印的,一个是子进程打印的。

 通过判断pid来确定父子进程执行的内容:

 运行结果:

进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记

父子进程仅仅复制关系,执行顺序没有规律,需要操作系统来进行调度。 

进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记

修改代码如下:

进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记

运行结果如下: 

 进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记

 父子进程执行顺序是随机的


若父进程先结束

进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记

进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记 此时子进程继续运行,不过变为后台进程,不能被ctrl-c杀掉,只能用kill杀掉。


若子进程先结束 

进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记 此时子进程变成僵尸进程。

进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记

 四、子进程进阶

一个父进程创建出5个子进程 

进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记

代码如下:

进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记

 五、进程的退出

 进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记

 进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记

进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记 

exit结束进程刷新缓冲流,会打印上一行,_exit结束进程不刷新缓冲流,不会打印上一行
“\n”和return就是刷新缓冲流。 

 六、进程的回收

进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记

进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记 通过wait函数回收僵尸进程进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记

代码运行结果:

进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记

进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记进程的创建与回收学习笔记,Linux学习笔记,服务器,运维,linux,c语言,学习,笔记 此时效果和使用wait函数一样。

 文章来源地址https://www.toymoban.com/news/detail-796126.html

到了这里,关于进程的创建与回收学习笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux高性能服务器编程 学习笔记 第五章 Linux网络编程基础API

    我们将从以下3方面讨论Linux网络API: 1.socket地址API。socket最开始的含义是一个IP地址和端口对(ip,port),它唯一表示了使用TCP通信的一端,本书称其为socket地址。 2.socket基础API。socket的主要API都定义在sys/socket.h头文件中,包括创建socket、命名socket、监听socket、接受连接、发

    2024年02月07日
    浏览(56)
  • Linux高性能服务器编程 学习笔记 第二章 IP协议详解

    本章从两方面探讨IP协议: 1.IP头部信息。IP头部出现在每个IP数据报中,用于指定IP通信的源端IP地址、目的端IP地址,指导IP分片和重组,指定部分通信行为。 2.IP数据报的路由和转发。IP数据报的路由和转发发生在除目标机器外的所有主机和路由器上,它们决定数据报是否应

    2024年02月09日
    浏览(41)
  • Linux高性能服务器编程 学习笔记 第一章 TCP/IP协议族

    现在Internet使用的主流协议族是TCP/IP协议族,它是一个分层、多协议的通信体系。 TCP/IP协议族包含众多协议,我们只详细讨论IP协议和TCP协议,因为它们对编写网络应用程序有最直接的影响。如果想系统学习网络协议,RFC(Request For Comments,评论请求)是首选资料。 TCP/IP协议

    2024年02月09日
    浏览(65)
  • linux并发服务器 —— 多进程并发(四)

    程序是包含一系列信息的文件,描述了如何在运行时创建一个进程; 进程是正在运行的程序的实例,可以用一个程序来创建多个进程; 用户内存空间包含程序代码以及代码所使用的变量,内核数据结构用于维护进程状态信息; 进程控制块(PCB):维护进程相关的信息,tas

    2024年02月11日
    浏览(55)
  • Linux服务器上查询进程 ps aux

    在Linux服务器上查询进程,有以下几种方法: 使用ps命令。这个命令用于报告当前系统的进程状态。可以用以下方式使用ps命令来查看进程信息: ps aux:显示系统中所有进程的信息。 ps -e:显示所有进程的信息。 ps -f:显示进程的所有信息。 ps -l:以长格式显示进程信息。

    2024年02月05日
    浏览(61)
  • Linux服务器中查看进程的四种方法

    1. 使用 ps aux 命令来查看,能以简单列表的形式显示出进程信息 ps aux 用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序. ps 命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进

    2024年02月02日
    浏览(42)
  • Linux网络编程:多进程 多线程_并发服务器

    文章目录: 一:wrap常用函数封装 wrap.h  wrap.c server.c封装实现 client.c封装实现 二:多进程process并发服务器 server.c服务器 实现思路 代码逻辑  client.c客户端 三:多线程thread并发服务器 server.c服务器 实现思路 代码逻辑  client.c客户端 ​​​​   read 函数的返回值 wrap.h  wrap

    2024年02月12日
    浏览(56)
  • 基于linux下的高并发服务器开发(第二章)- 2.7 进程退出、孤儿进程、僵尸进程

    ◼ 父进程运行结束,但子进程还在运行(未运行结束),这样的子进程就称为孤儿进程 (Orphan Process)。 ◼ 每当出现一个孤儿进程的时候,内核就把孤儿进程的父进程设置为 init ,而 init 进程会循环地 wait() 它的已经退出的子进程。这样,当一个孤儿进程凄凉地结束 了其生

    2024年02月16日
    浏览(55)
  • 蓝易云:Linux系统sshd命令 – openssh服务器守护进程

    sshd是Linux系统中的一个守护进程,它提供了远程登录服务和安全的文件传输功能。以下是sshd的详细教程。 1. 安装openssh-server 在Debian/Ubuntu上安装openssh-server命令如下: sudo apt-get update sudo apt-get install openssh-server 在CentOS/RHEL上安装openssh-server命令如下: sudo yum update sudo yum install

    2024年02月16日
    浏览(49)
  • linux服务器创建新用户

    无论是创建新用户还是删除某个用户,都需要拿到root用户的密码,才有权限创建删除。 首先进入root账户,输入以下指令,created_name 是我们创建的用户名,可以换成你想要创建的用户名称。 按回车后,输入如下指令设置账户密码 按回车后,在 New password 后面输入设置的密码

    2024年02月16日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包