• 技术文章 >运维 >linux运维

    linux两种不同的进程启动方式是什么

    长期闲置长期闲置2022-07-27 15:19:20原创257

    linux中两种不同的进程启动方式是:1、手工启动进程,指的是由用户输入命令直接启动一个进程,根据所启动的进程类型和性质的不同,可以细分为前台启动和后台启动两种方式;2、调度启动进程,指的是任务可以被配置在指定的时间、日期或者系统平均负载量低于指定值时自动启动。

    本教程操作环境:linux7.3系统、Dell G3电脑。

    linux两种不同的进程启动方式是什么

    总体来说,启动一个进程主要有 2 种途径,分别是通过手工启动和通过调度启动(事先进行设置,根据用户要求,进程可以自行启动),接下来就一一介绍这 2 中方式。

    Linux手工启动进程

    手工启动进程指的是由用户输入命令直接启动一个进程,根据所启动的进程类型和性质的不同,其又可以细分为前台启动和后台启动 2 种方式。

    前台启动进程

    这是手工启动进程最常用的方式,因为当用户输入一个命令并运行,就已经启动了一个进程,而且是一个前台的进程,此时系统其实已经处于一个多进程的状态(一个是 Shell 进程,另一个是新启动的进程)。

    实际上,系统自动时就有许多进程悄悄地在后台运行,不过这里为了方便读者理解,并没有将这些进程包括在内。

    假如启动一个比较耗时的进程,然后再把该进程挂起,并使用 ps 命令查看,就会看到该进程在 ps 显示列表中,例如:

    [root@localhost ~]# find / -name demo.jpg <--在根目录下查找 demo.jpg 文件,比较耗时
    #此处省略了该命令的部分输出信息
    #按“CTRL+Z”组合键,即可将该进程挂起
    [root@localhost ~]# ps <--查看正在运行的进程
    PID  TTY      TIME   CMD
    2573 pts/0  00:00:00 bash
    2587 pts/0  00:00:01 find
    2588 pts/0  00:00:00 ps

    将进程挂起,指的是将前台运行的进程放到后台,并且暂停其运行,有关挂起进程和 ps 命令用法,后续章节会做详细介绍。

    通过运行 ps 命令查看进程信息,可以看到,刚刚执行的 find 命令的进程号为 2587,同时 ps 进程的进程号为 2588。

    后台启动进程

    进程直接从后台运行,用的相对较少,除非该进程非常耗时,且用户也不急着需要其运行结果的时候,例如,用户需要启动一个需要长时间运行的格式化文本文件的进程,为了不使整个 Shell 在格式化过程中都处于“被占用”状态,从后台启动这个进程是比较明智的选择。

    从后台启动进程,其实就是在命令结尾处添加一个 " &" 符号(注意,& 前面有空格)。输入命令并运行之后,Shell 会提供给我们一个数字,此数字就是该进程的进程号。然后直接就会出现提示符,用户就可以继续完成其他工作,例如:

    [root@localhost ~]# find / -name install.log &
    [1] 1920
    #[1]是工作号,1920是进程号

    以上介绍了手工启动的 2 种方式,实际上它们有个共同的特点,就是新进程都是由当前 Shell 这个进程产生的,换句话说,是 Shell 创建了新进程,于是称这种关系为进程间的父子关系,其中 Shell 是父进程,新进程是子进程。

    值得一提的是,一个父进程可以有多个子进程,通常子进程结束后才能继续父进程;当然,如果是从后台启动,父进程就不用等待子进程了。

    Linux调度启动进程

    在 Linux 系统中,任务可以被配置在指定的时间、日期或者系统平均负载量低于指定值时自动启动。

    例如,Linux 预配置了重要系统任务的运行,以便可以使系统能够实时被更新,系统管理员也可以使用自动化的任务来定期对重要数据进行备份。

    推荐学习:Linux视频教程

    以上就是linux两种不同的进程启动方式是什么的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:linux
    上一篇:linux中mysql表名区分大小写吗 下一篇:procinfo是不是linux的命令
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• linux无法启动iptables怎么办• linux可以查看文件的总大小吗• 只有linux系统时,怎么让项目跑起来?• 最新汇总!Linux 操作必备的150个命令!• linux能识别fat32吗
    1/1

    PHP中文网