c语言系统编程之多进程

这篇具有很好参考价值的文章主要介绍了c语言系统编程之多进程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

程序与进程的区别?

程序是静态的未运行的二进制文件,存储在磁盘中

进程是已经运行的二进制文件,存储在内存中

进程的内存划分图有哪几部分?

堆(存储malloc和calloc出来的空间)、栈(局部变量、环境变量、命令行参数)、数据段(全局变量、静态变量、常量)、代码段(用户代码、系统初始化的代码)

进程的状态转换?

c语言系统编程之多进程,linux,运维,服务器

时间片的定义:

分时操作系统分配给每个正在运行的系统的一段微观上的时间

进程的控制命令:

ps:查看当前终端的进程

ps -e: 查看当前系统的所有进程

kill 给进程pid发送一个信号(sigstop、sigcont)

killall 给进程名发送一个信号

所有进程都有其父进程,最开始的进程有init进程和system进程创建

创建进程的函数:fork(),fork函数会连续返回两个值,一个是子进程返回零,一个是父进程返回大于零。

父子进程间不一样的属性有哪些?

pid号、记录锁、挂起的信号

孤儿进程:

当父进程比子进程先死亡,子进程就会变为孤儿进程,所有孤儿进程都由init进程进行回收。(子进程比父进程先死亡可以防止孤儿进程的产生)

僵尸进程:

子进程死亡,父进程未回收子进程的资源(调用wait),子进程变为僵尸进程

wait函数的作用:

用来回收子进程的资源,wait((int)&state),根据状态码得知子进程的状态

状态码如下:

c语言系统编程之多进程,linux,运维,服务器

获取pid的函数有哪些?

getpid()获取当前进程的pid号

getppid()获取父进程的pid号

exit函数()的作用?

使得进程退出,从运行状态进入到僵尸态。

execl()函数的作用?

让进程重新加载其他程序文件。根据路径名和需要传递给函数的参数进行加载

system(const char *command)函数的作用,通过一个子进程执行程序。

超级接口popen(const char*command,char * type)的作用?

加载一个进程并把进程的数据通过文件流指针的方式返回

进程间的通信方式有哪七种?

文件通信、管道文件、信号、网络socket、消息队列、共享内存、信号量

管道文件中无名管道的特点?

只能用于父子进程间的通信。

c语言系统编程之多进程,linux,运维,服务器

有名管道的特点?

有名管道用于不同进程间的通信,其操作与文件操作一样。

linux命令mkfifo创建有名管道

操作的步骤一般为:open打开有名管道,read/write操作有名管道,关闭有名管道

alarm函数的作用:

在一定时间后发送闹钟信号。

关于时间处理的函数有哪些?

c语言系统编程之多进程,linux,运维,服务器

信号屏蔽?略文章来源地址https://www.toymoban.com/news/detail-729244.html

到了这里,关于c语言系统编程之多进程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • [Linux] 网络编程 - 初见TCP套接字编程: 实现简单的单进程、多进程、多线程、线程池tcp服务器

    网络的上一篇文章, 我们介绍了网络变成的一些重要的概念, 以及 UDP套接字的编程演示. 还实现了一个简单更简陋的UDP公共聊天室. [Linux] 网络编程 - 初见UDP套接字编程: 网络编程部分相关概念、TCP、UDP协议基本特点、网络字节序、socket接口使用、简单的UDP网络及聊天室实现…

    2024年02月16日
    浏览(64)
  • Linux中 socket编程中多进程/多线程TCP并发服务器模型

    一次只能处理一个客户端的请求,等这个客户端退出后,才能处理下一个客户端。 缺点:循环服务器所处理的客户端不能有耗时操作。 模型 源码 可以同时处理多个客户端请求 父进程 / 主线程专门用于负责连接,创建子进程 / 分支线程用来与客户端交互。 模型 源码 模型 源

    2024年02月12日
    浏览(40)
  • 互联网编程之多线程/线程池TCP服务器端程序设计

    目录 需求 多线程TCP服务器 线程池TCP服务器 测试 日志模块 多线程TCP服务器(30分): 设计编写一个TCP服务器端程序,需使用多线程处理客户端的连接请求。客户端与服务器端之间的通信内容,以及服务器端的处理功能等可自由设计拓展,无特别限制和要求。 线程池TCP服务器

    2024年02月11日
    浏览(40)
  • 蓝易云: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日
    浏览(45)
  • 华为云云耀云服务器L实例评测 | Linux系统宝塔运维部署H5游戏

    本章节内容,我们主要介绍华为云耀服务器L实例,从云服务的优势讲起,然后讲解华为云耀服务器L实例资源面板如何操作,如何使用宝塔运维服务,如何使用运维工具可视化安装nginx,最后部署一个自研的H5的小游戏(6岁的小朋友玩的很开心😁)。 前端的同学如果想把自己

    2024年02月07日
    浏览(55)
  • Linux网络编程二(TCP三次握手、四次挥手、TCP滑动窗口、MSS、TCP状态转换、多进程/多线程服务器实现)

    TCP三次握手 TCP 三次握手 (TCP three-way handshake)是TCP协议建立可靠连接的过程,确保客户端和服务器之间可以进行可靠的通信。下面是TCP三次握手的详细过程: 假设客户端为A,服务器为B 1 、第一次握手(SYN=1,seq=500) A向B发送一个带有SYN标志位的数据包,表示A请求建立连接。

    2024年02月06日
    浏览(58)
  • Linux网络编程二(TCP图解三次握手及四次挥手、TCP滑动窗口、MSS、TCP状态转换、多进程/多线程服务器实现)

    1、TCP三次握手 TCP 三次握手 (TCP three-way handshake)是 TCP协议建立可靠连接 的过程,确保客户端和服务器之间可以进行可靠的通信。下面是TCP三次握手的 详细过程 : 假设客户端为A,服务器为B。 (1) 第一次握手 第一次握手(SYN=1,seq=500) A向B发送一个带有 SYN 标志位的数据包,

    2024年04月22日
    浏览(48)
  • 网络编程(一)TCP单进程服务器编程详解

    想要学习socket网络编程的读者一定要首先学好计算机网络的理论知识,包括 1)osi网络七层模型与ip四层模型 2)套接字含义 3)局域网通信过程 4)广域网通信过程 5)tcp,udp通信协议,在这两个协议中的连接建立,数据封装,传输过程,传输中可能遇到的问题的处理(差错控

    2024年02月15日
    浏览(43)
  • Linux入门之多线程|线程|进程基本概念及库函数

    目录 一、线程 1.线程的概念 补充知识点:页表 2.线程的优点 3.线程的缺点 4.线程异常 5.线程用途 二、线程与进程的区别与联系 三、关于进程线程的问题 0.posix线程库 1.创建线程 关于pthread_create的后两个参数 1.传入指针 2.传入对象 2.线程终止 3.取消线程 4.线程等待(等待线程

    2024年02月10日
    浏览(36)
  • 运维 | 查看 Linux 服务器 IP 地址

    大多数在操作 Linux 系统时,我们经常需要知道服务器的 IP 比便于后续的一系列操作,这时候有快速查看主机 IP 的命令行操作,能够有效的帮助我们 本章节主要记录一些常用查看服务器 IP 的命令,希望对大家有所帮助。 查看 Linux 服务器的 IP 地址的命令大体上有以下几种。

    2024年04月27日
    浏览(75)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包