C++码农日记笔记

环境搭建

Linux下的Qt Creator环境搭建

https://blog.csdn.net/Chuangke_Andy/article/details/122928669

文本文件在Windows系统与Linux系统中的换行符不同,在Windows中为CR+LF(回车+换行),而在Linux中为LF(换行)。Xftp在传输文本文件时将自动根据目标系统转换文件的换行符

第09天 在Linux系统中以守护进程方式运行程序

如何让一个进程变成守护进程让一个进程变成守护进程,分为如下步骤。

1)创建子进程,终止父进程由于守护进程是脱离控制终端的,因此要先创建子进程,然后终止父进程,造成进程已经运行完毕的假象。在这之后,所有的工作都在子进程中完成,而用户在终端里可以执行其他命令,这样可以先在形式上做到与控制终端的脱离。让一个进程以后台方式运行,可以通过fork()函数实现。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程。一个进程调用fork()函数后,系统先给新的进程分配资源(如存储数据和代码的空间),然后把原来进程的所有值都复制到新进程中,只有少数值与原进程的值不同,这相当于克隆了一个进程。新旧两个进程可以做完全相同的事,也可以做不同的事,这可以由初始参数决定。

先看一下fork()函数的一个简单例子,见代码清单2-14。
代码清单2-14:
在这里插入图片描述
如代码清单2-14所示,在标号①处,在代码processId=fork()执行之前,只有一个进程在执行这之前的代码,但在这条语句之后,就变成两个进程在执行了。在fork()函数执行完毕后,如果创建新进程成功,则出现两个进程,一个是父进程,另一个是子进程。这两个进程将要执行的下一条语句都是标号②处的if(0 ==processId)。fork()函数只会把下一个要执行的代码以及之后的代码复制到新进程。fork()函数可能有以下三种不同的返回值。

在父进程中,调用fork()函数成功,并且新创建子进程的进程ID>0。此时输出的信息见标号③处。在子进程中,fork()函数返回0。此时输出的信息见标号④处。如果出现错误,则fork()函数返回一个负值。此时可以通过errno的值判断错误原因。因此,可以通过fork()函数返回的值来判断当前进程是子进程还是父进程。通过调用fork()函数可以让新创建的子进程继续执行父进程尚未执行的代码,那么父进程就可以退出运行了。但此时的子进程仍未脱离终端,如果需要进程以后台服务方式运行,那么就需要让进程脱离终端以守护进程方式运行。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

相关推荐

  1. 也得“开口说话”

    2024-03-19 21:32:03       57 阅读
  2. 基于springboot新人交流论坛 - 源免费

    2024-03-19 21:32:03       31 阅读
  3. 算法笔记刷题日记——Day1 C_C++在ACM中的常用语法

    2024-03-19 21:32:03       60 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-19 21:32:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-19 21:32:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-19 21:32:03       82 阅读
  4. Python语言-面向对象

    2024-03-19 21:32:03       91 阅读

热门阅读

  1. python怎样使用excel

    2024-03-19 21:32:03       39 阅读
  2. 程序员如何选择职业赛道?

    2024-03-19 21:32:03       38 阅读
  3. QT 多线程使用以及注意事项

    2024-03-19 21:32:03       43 阅读
  4. react面试题

    2024-03-19 21:32:03       29 阅读
  5. Nacos

    Nacos

    2024-03-19 21:32:03      37 阅读
  6. +-x c++

    2024-03-19 21:32:03       42 阅读
  7. LeetCode --- 2057. Smallest Index With Equal Value 解题报告

    2024-03-19 21:32:03       37 阅读
  8. mysql笔记:21. 演示脏读、不可重复读和幻读现象

    2024-03-19 21:32:03       36 阅读