共 1 篇文章

标签:轻松进入Linux世界:掌握进程开启技巧 (linux 进程 开启)

轻松进入Linux世界:掌握进程开启技巧 (linux 进程 开启)

Linux作为一款免费开源的操作系统,越来越受到人们的青睐。与Windows等商业操作系统相比,Linux更加稳定、安全和灵活,同时支持的软件、工具也越来越丰富。但是,对于初学者来说,学习Linux并不是一件容易的事情。在其中一个重要的环节——进程开启方面,更需要一些技巧和技能。 什么是进程? 我们需要了解什么是进程。简单来说,进程是正在运行的应用程序在操作系统中的实例。每个进程都有一个唯一的PID(进程标识符),用于区分不同的进程。 在Linux中,通过命令行的方式启动进程更为常见,因此要深入了解各种进程开启的技巧,才能轻松进入Linux世界。 常用的进程开启命令 1. nohup命令 Nohup(no hang up)命令是一个非常实用的命令,它可以在后台运行一个程序,即使当前终端窗口已经关闭,进程也会继续在后台运行。此命令通常用于启动一些长时间运行的程序或者服务,例如:web服务器、数据库等。 例如,启动一个Spring Boot应用程序: “` nohup java -jar app.jar & “` 该命令会在后台运行一个Java程序,可以通过“`tl -f nohup.out“`查看启动时的日志。 2. screen命令 如果你需要在同一终端窗口中运行多个程序,screen命令就是你需要的命令。 screen命令可以创建一个新的虚拟终端,让你在这个虚拟终端中开启一个新的程序,并且在程序运行过程中可以随时切换到其他虚拟终端窗口。而原来的虚拟终端仍然保持着打开的状态。 例如,运行一个Tomcat服务器: “` screen -S tomcat “` 该命令会创建一个名为“tomcat”的虚拟终端,并且在这个虚拟终端中启动Tomcat服务器。 如果要退出screen,可以按下 “`ctrl+a d“`命令,然后在其他终端中使用“`screen -r tomcat“`命令重新进入到之前的虚拟终端中。 3. nohup和screen命令的结合使用 nohup和screen两个命令的结合使用,可以将一个进程同时放到后台运行并在一个新的虚拟终端中查看它的运行状态。 例如,运行一个有界面的程序: “` screen -S app “` “` nohup java -jar app.jar & “` 这个命令会将一个应用程序放到后台运行,并且在虚拟终端“app”中查看它的运行状态和日志输出。 对于初学者来说,理解进程的概念和运行原理是非常重要的,而深入了解各种进程开启技巧则可以使操作更加方便和灵活。nohup命令可以在后台运行长时间运行的程序或服务,而screen命令则可以更好地管理多个虚拟终端,将多个程序同时放到后台运行也非常简单。 在进程开启方面,还有很多其他的技巧和命令可以运用,例如jobs、bg、fg等等。因此,如果你想更好地掌握Linux世界,学习进程开启技巧也是非常重要的。 相关问题拓展阅读: Linux进程管理及作业控制的启动进程 linux如何启动多个用户进程? Linux进程管理及作业控制的启动进程 键入需要运行的程序的程序名,执行一个程序,其实也就是启动了一个进程。在Linux系统中每个进程都具有一个进程号,用于系统识别和调度进程。启动一个进程有两个主要途径:手工启动和调度启动,后者是事先进行设置,根据用户要求自行启动。 由用户输入命令,直接启动一个进程便是手工启动进程。但手工启动进程又可以分为很多种,根据启动的进程类型不同、性质不同,实际结果也不一样,下面分别介绍。 1. 前台启动 这或许是手工启动一个进程的最常用的方式。一般地,用户键入一个命令“ls –l”或携指,这就已经启动了一个进程,而且是一个前台的进程。这时候系统其实已经处于一个多进程状态。或许有些用户会疑惑:我只启动了一个进程而已。但实际上有许多运行在后台的、系统启动时就已经自动启动的进程正在悄悄运行着。还有的用户在键入“ls –l”命令以后赶紧使用“ps –x”查看,却没有看到ls进程,也觉得很奇怪。其实这是因为ls这个进程结束太快,使用ps查看时该进程已经执行结束了。如果启动一个比较耗时的进程: find / -name fox.jpg 然后再把该进程挂起,使用ps查看,就会看到一个find进程在里面。 2. 后台启动 直接从后台手工启动一个进程用得比较少一些,除非是该进程甚为耗时,且用户也不急着需要结果的时候。假设用户要启动一个需要长时间运行的格式化文本文件的进程。为了不使整个shell在格式化过程中都处于“瘫痪”状态,从后台启动这个进程是明智的选择。 $ troff –me notes > note_form & 4513 $ 由上例可见,从后台启动进程其实就是在命令结尾加上一个&号。键入命令以后,出现一个数字,这个数字就是该进程的编号,也称为PID,然后就出现了提示符。用户可以继续其他工作。 上面介绍了前、后台启动的两种情况。实际上这两种启动方式有个共同的特点,就是新进程都是由当前shell这个进程产生的。也就是说,是shell创建了新进程,于是就称这种关系为进程间的父子关系。这里shell是父进程,而新进程是子进程。一个父进程可以有多个子进程,一般地,子进程结束后才能继续父进程;当然如果是从后台启动,那就不用等待子进程结束了。 一种比较特殊的情况是在使用管道符的时候。例如: nroff -man ps.1|grep kill|more 这时候实际上是同时启动了三个进程。请注意是同时启动的,所有放在管道两边的进程都将被同时启动,它们都是当前shell的子程序,互相之间可以称为兄弟进程。 以上介绍的是手工启动进程的一些内容,作为一名系统管理员,很多时候都需要把事情安排好以后让其自动运行。因为管理员不是机器,也有离开的时候,所以有些必须要做的工作而恰好管理员不能亲自操作,这时候就需要使用调度启动进程了。 有时候需要对系统进行一些比较费时而且占用资源的维护工作,这些工作适合在深夜进行,这时候用户就可以事先进行调度安排,指定任务运行的时间或者场合,到时候系统会自动完成这一切工作。 要使用自动启动进程的功能,就需要掌握以下几个启动命令。 at命令 用户使用at命令在指定时刻执行指定的命令序列。也就是说,该命令至少需要指定一个命令、一个执行时间才可以正常运行。at命令可以只指定时间,也可以时间和日期一起指定。需要注意的是,指定时间有个系统判别问题。比如说:用户现在指定了一个执行时间:凌晨3:20,而发出at命令的时间是头天晚上的20:00,那么究竟是在哪一天执行该命令呢?如果用户在3:20以前仍然在工作,那么该命令将在这个时候完成;如果用户3:20以前就退出了工作状态,那么该命令将在第二天凌晨才得到执行。下面是at命令的语法格式: at 时间 at -c 作业 at允许使用一套相当复杂的指定时间的方法,实际上是将POSIX.2标准扩展了。它可以接受在当天的hh:mm(小时:分钟)式的时间指定。如果该时间已经过去,那么就放在第二天执行。当然也可以使用midnight(深夜),noon(中午),teatime(饮茶时间,一般是下午4点)等比较模衫配糊的词语来指定时间。用户还可以采用12小时计时制,即在时间后面加上AM(上午)或者PM(下午)来说明是上午还是下午。 也可以指定命令执行的具体隐和日期,指定格式为month day(月 日)或者mm/dd/yy(月/日/年)或者dd.mm.yy(日.月.年)。指定的日期必须跟在指定时间的后面。 上面介绍的都是绝对计时法,其实还可以使用相对计时法,这对于安排不久就要执行的命令是很有好处的。指定格式为:now + count time-units ,now就是当前时间,time-units是时间单位,这里可以是 minutes(分钟)、hours(小时)、days(天)、weeks(星期)。count是时间的数量,究竟是几天,还是几小时,等等。 还有一种计时方法就是直接使用today(今天)、tomorrow(明天)来指定完成命令的时间。下面通过一些例子来说明具体用法。 指定在今天下午5:30执行某命令。假设现在时间是中午12:30,1999年2月24日,其命令格式如下: at 5:30pm at 17:30...

技术分享