Linux实验 | 您所在的位置:网站首页 › linux系统进程管理二 › Linux实验 |
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、实验目的二、实验工具三、实验原理四、实验过程提示:以下是本篇文章正文内容,下面案例可供参考 一、实验目的1.掌握Linux下进程管理的命令。 2.掌握Linux下作业管理的命令。 二、实验工具一台带网卡的已安装好Linux的计算机 三、实验原理1 进程(process):正在运行的程序,即程序只有再被系统载入了内存并运行后才能够叫做进程。 程序是磁盘文件,而进程则是内存中工作着的程序代码。 进程号:给每个正在运行的程序(进程)唯一一个标号. 进程与程序是有区别的,进程不是程序,虽然它由程序产生。程序只是一个静态的指令集合,不占系统的运行资源;而进程是一个随时都可能发生变化的、动态的、使用系统运行资源的程序,而且一个程序可以启动多个进程 进程Id(pid):指派给启动进程的唯一标识符 子进程:由其他进程所启动的进程 父进程:启动其他进程的进程 父进程id(ppid):创建了当前进程的父进程的pid 2 进程类型 前台进程:一个程序控制着标准输入输出 。 执行时shell暂时挂起,执行完毕退回Shell 后台进程:一个程序不从标准输入接受输入,一般也不将结果输出到标准输出. 守护进程(Daemon):系统服务器以后台方式存在,开机载入,关机结束。 Internet服务器inetd,Web服务器httpd . 没有控制终端 ,或隐藏控制终端 3 作业管理命令 直接将命令放到后台“执行”的& 将“当前”作业放到后台“暂停” 【ctrl】-z 观察当前后台作业的状态:jobs 将后台作业拿到前台处理:fg 让作业在后台运行:bg 管理后台作业:kill 4进程管理命令 进程查看:ps aux(静态) 进程查看:top(动态) 进程列表pstree 删除进程kill,killall 调整优先级:nice,renice 进程数据存放: /proc/* 5 [root@localhost ~]# grep ‘kcq’ /etc/passwd & 直接将命令放到后台“执行”的& [1] 2905 -------------------------------------------- 》PID [root@localhost ~]# kcq:x:0:0::/home/kcq:/bin/bash kcqkcq:x:500:501::/home/kcqkcq:/bin/bash 光标 bg bash: bg: job has terminated [1]+ Done grep 'kcq' /etc/passwd 1 bash: 1: command not found [1]+ Done grep 'kcq' /etc/passwd grep 'kcq' /etc/passwd & >text.txt [2] 2916 [1] Done grep 'kcq' /etc/passwd [root@localhost ~]# kcq:x:0:0::/home/kcq:/bin/bash fg bash: fg: job has terminated [2]+ Done grep 'kcq' /etc/passwd [root@localhost ~]#6 root@localhost ~]# vi ~/.bashrc 将“当前”作业放到后台“暂停” 【ctrl】-z [1]+ Stopped vi ~/.bashrc You have new mail in /var/spool/mail/root [root@localhost ~]# 7观察当前后台作业的状态:jobs [root@localhost ~]# jobs [1]+ Stopped vi ~/.bashrc [root@localhost ~]# jobs -l [1]+ 3129 停止 vi ~/.bashrc jobs - l 表示列出作业号,PID jobs -r (run)列出运行的作业 jobs -s (stop)停止列出的作业 +表示默认的作业 root@localhost ~]# grep ‘kcq’ /etc/passwd & [2] 28978 [root@localhost ~]# kcq:x:0:0::/home/kcq:/bin/bash jobs -r [2]- Done grep 'kcq' /etc/passwd [root@localhost ~]# jobs -s [1]+ Stopped vi ~/.bashrc8将后台作业拿到前台处理:fg fg % jobnumber [root@localhost ~]# jobs -l [1]+ 3129 停止 vi ~/.bashrc [root@localhost ~]# fg vi ~/.bashrc 进入VI编辑界面 [1]+ Stopped vi ~/.bashrc 9让作业在后台运行:bg [root@localhost ~]# find / -perm +7000 /var/gdm Ctrl+Z [2]+ Stopped find / -perm +7000 [root@localhost ~]# jobs;bg %2;jobs [1]- Stopped vi ~/.bashrc [2]+ Stopped find / -perm +7000 [2]+ find / -perm +7000 & [1]+ Stopped vi ~/.bashrc [2]- Running find / -perm +7000 & [root@localhost ~]# /var/spool/vbox /var/spool/cups/tmp 10.管理后台作业:kill kill signal %jobnumber signal :-9立即强制删除 -15 正常程序结束 -l 列出可用信号 -1 重读参数设置文件 [root@localhost ~]# jobs [1]+ Stopped vi ~/.bashrc [root@localhost ~]# [root@localhost ~]# kill -9 %1 [1] 已杀死 vi ~/.bashrc 11.进程查看:ps ps:察看当前所有运行中的所有进程的情况,它给出的是某一时刻静态的信息 ps a :显示所有终端上的进程,包括其他用户的 ps x :显示所有程序,不以终端机来区分 ps w:输出内容更详细 ps u:以面向用户的格式显示输出结果 ps f:可以显示进程之间的父子关系 ps aux 比较常用 root@localhost ~]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 2040 632 ? Ss 21:47 0:02 init [5 字段名意义USER进程所有者的用户名PID进程号,可以唯一标识该进程%CPU进程自最近一次刷新以来所占用的CPU时间和总时间的百分比%MEM进程使用内存的百分比VSZ进程使用的虚拟内存大小,以K为单位RSS进程占用的物理内存的总数量,以K为单位TTY进程相关的终端STAT进程状态,用下表代码中的一个给出TIME进程使用的总CPU时间COMMAND被执行的命令行NI进程的优先级值,较小的数字意味着占用较少的CPU时间PRI进程优先级PPID父进程IDWCHAN进程等待的内核事件名12显示的进程列表pstree [root@localhost ~]# pstree -A 13 进程查看:top(动态) [root@localhost ~]# top -d 2 14 其他命令的使用(参考书本) free uname netstat dmesg sar 15调整优先级:nice,renice 四、实验过程1.进程管理 (1)使用ps命令查看和控制进程 显示本用户的进程:#ps。显示所有用户的进程:#ps -au。在后台运行cat命令:#cat &。查看进程cat :# ps aux |grep cat。杀死进程cat:#kill –9 cat。再次查看查看进程cat,看看是否被杀死。![]() ![]() (2)使用top命令查看和控制进程 用top命令动态显示当前的进程。只显示用户user01的进程(利用u键)。利用k键,杀死指定进程号的进程。![]() ![]() (3)挂起和恢复进程 执行命令cat。按Ctrl+z键,挂起进程cat。输入jobs命令,查看作业。输入bg,把cat切换到后台执行。输入fg,把cat切换到前台执行。按Ctrl+c键,结束进程cat。![]() ![]() ![]() ![]() ![]() |
CopyRight 2018-2019 实验室设备网 版权所有 |