2020 Linux系统应用基础教程 期末复习【整理】第七章 进程管理

一、进程的手动启动

1、前台启动
这种启动方式是由终端的shell程序创建进程,当被创建的子进程正在执行时,其父进程(shell进程)处于睡眠状态,直到子进程运行结束,终端的控制权才交还给父进程;因此,在子进程执行期间,该终端不能再输入任何命令。
使用ps可以查看该进程(但一般看不到,进程太短,很快消亡)
Ctrl+z让一个比较费时的进程暂停,再用ps就可以看到了。
输入fg find / -name realplay可以让其继续进行。(即后文切换)
2、后台启动(有的命令花费很长时间才能显示或者在实际输出设备上输出,但用在前台,则不能在命令执行时输入新的命令来工作,这时候就出现了后台启动)
如果用户要实现后台启动进程,只需要在命令的最后加上“&”即可,“&”前可以有空格,也可以没有。
这种启动方式也是由终端的shell程序来创建的进程,但不同的是被创建的子进程正在执行时,其父进程并不是处于睡眠状态,而是与其子进程并发执行。
3、前、后台进程的切换
前台切换成后台:
用法:bg[job_spec]
job_spec是工作编号。该命令功能和前台启动进程的命令加上“&”是相同的。
不写工作编号,则默认当前。ctrl+c是终止;ctrl+z是停止+放入后台
示例:
首先输出realplay,再ctrl+z暂停,查看到工作编号为[1]
再执行bg 1命令,则显示将realplay进程放到后台运行,并马上出现终端提示符。
后台切换成前台:
用法:fg[job_spec | command]
job_spec是工作编号,command是命令名称。
如果使用工作编号为参数,则使用jobs命令查看进程的工作编号;如果使用command为参数,则使用ps命令来查看程序或命令名称。
如fg realplay

二、调度启动(重点)

crontab命令
功能是配置定时器,告诉提供定时器功能的cron守护进程让用户定时地执行命令或命令列表,并维护每个用户crontab文件。用户在crontab文件中要求执行的命令被cron守护进程(cron服务)激活,crond常常在后台运行,每1min检查一次是否有预定的作业需要执行。
-e: 编辑crontab定时任务
-l: 查询crontab任务
-r: 删除当前用户所有的crontab任务
crontab格式:
min hour day mon weekday
在这里插入图片描述
示例:
用户自己编辑一个conset配置文件,用crontab命令实现每小时的30分钟时自动检查登录系统的用户并保存到mysyslog日志文件中。
cat conset
30 * * * * who >> mysyslog
crontab conset
crontab -l

三、进程查看

ps命令
查看系统中所有进程,使用 BSD 操作系统格式:ps aux
a:选择显示当前终端上的所有进程,包括其他用户的进程。
x:显示所有进程,包括没有控制终端的进程。
u:指定输出格式,以用户为主的格式显示进程信息。
查看系统中所有进程,使用Linux标准命令格式:ps -le
-e:显示所有进程与-A等价
-l:以详细格式显示进程的信息

输出信息标题
USER:该进程是由哪个用户产生的;
PID:进程的ID号;(PID为1 表示是所有进程的父进程)
%CPU:该进程占用CPU资源的百分比,占用越高,进程 越耗费资源;
%MEM:该进程占用物理内存的百分比,占用越高,进程 越耗费资源;
VSZ:该进程占用虚拟内存的大小,单位KB;
RSS:该进程占用实际物理内存的大小,单位KB;
TTY:该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端。
STAT:进程状态。常见的状态有R:运行;S:睡眠 ;T:停止状态;s:包含子进程;+:位于后台;<:优先级高的进程;l:多线程;克隆线程(使用CLONE_THREAD, 类似NPTL pthreads)
START:该进程的启动时间
TIME:该进程占用CPU的运算时间,注意不是系统时间
COMMAND:产生此进程的命令名

四、进程调度(重点 代号9和15)

kill命令
如果终止前台进程,使用控制台中断(ctrl+c或ctrl+break)组合键即可,但是对于僵死的进程或者是后台进程就需要使用kill命令终止。
kill命令向指定的一个或者多个进程发送指定的信号。如果没有明确地指定发送的信号,系统默认是发送SIGTERM信号。SIGTERM信号将终止所有不能捕获该信号的进程。对于那些可以捕获的就使用SIGKILL信号,因为这个信号不可被捕获。

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

用法:kill [-s signal | -p][-a][- -]pid… 或kill -k [signal]
通常用ps找出pid,然后kill pid
示例:
ps -x
kill -s 9 1074 (9号signal意思为强制)

学如逆水行舟,不进则退
发布了339 篇原创文章 · 获赞 491 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/weixin_42429718/article/details/103839048