Linux进程启动

Linux进程启动教程

Linux 中,启动一个进程有两种方式,即手动启动与系统调度启动,其中,手动启动也可以分为前台启动与后台启动。

Linux手工启动进程

定义

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

前台启动进程

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

当我们前台启动一个进程,并且进程没有退出时,我们使用 ps 命令,就可以看到该进程,比如,我们以前台进程的方式,运行 top 命令,具体命令如下:

top

运行后,终端输出如下:

01_Linux进程启动方式.png

我们看到,此时,我们以前台的方式运行了 top 进程,现在,我们使用 ps 命令,查看该进程,具体命令如下:

ps -elf |grep top

运行后,终端输出如下:

02_Linux进程启动方式.png

我们看到,我们使用了 ps 命令,可以看到正在运行的 top 进程,测试完毕,我们按下 q 退出 top 进程。

后台启动进程

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

从后台启动进程,其实就是在命令结尾处添加一个 “&” 符号。输入命令并运行之后,Shell 会提供给我们一个数字,此数字就是该进程的进程号。然后直接就会出现提示符,用户就可以继续完成其他工作,我们输入以下代码,以后台运行 top 命令,具体命令如下:

top &

运行后,终端输出如下:

03_Linux进程启动方式.png

我们看到,此时,我们以后台的方式运行了 top 进程,现在,我们使用 ps 命令,查看该进程,具体命令如下:

ps -elf |grep top

运行后,终端输出如下:

04_Linux进程启动方式.png

我们看到,我们使用了 ps 命令,可以看到正在后台运行的 top 进程,测试完毕,我们使用 kill 命令,杀掉正在后天运行的 top 进程,具体命令如下:

kill 25439

这里的 25439 是进程 id,我们使用该命令,就可以杀死正在后台运行的进程。

说明

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

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

Linux系统调度启动进程

在 Linux 系统中,任务可以被配置在指定的时间、日期或者系统平均负载量低于指定值时自动启动。例如,Linux 预配置了重要系统任务的运行,以便可以使系统能够实时被更新,系统管理员也可以使用自动化的任务来定期对重要数据进行备份。

实现调度启动进程的方法有很多,例如通过 crontabat 等命令。

Linux进程启动总结

在 Linux 中,启动一个进程有两种方式,即手动启动与系统调度启动,其中,手动启动也可以分为前台启动与后台启动。