Linux实验

您所在的位置:网站首页 linux系统进程管理二 Linux实验

Linux实验

2023-11-22 05:47| 来源: 网络整理| 查看: 265

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录 一、实验目的二、实验工具三、实验原理四、实验过程

提示:以下是本篇文章正文内容,下面案例可供参考

一、实验目的

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 ~/.bashrc

8将后台作业拿到前台处理: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。 (4)使用at命令定时执行某命令 下午4点,用户找出系统中所有的以.c为后缀的文件,将结果保存到/etc/result文件中,然后向user1发邮件告知用户已经完成。 1) #at 4pm 2) 出现at>提示符,输入; at> find / -name “*.c” >/etc/result at>echo “user1:All code file have been seached out.You can take them over.Bye”|mail –s “job done” user1 3) 按Ctl+D键结束at命令的输入 (5)安排计划任务 1) 查看crontab命令的帮助信息:#crontab -help。 2) 查看用户的计划任务列表:#crontab –l。 3) 建立一个crontab文件:#echo “45 11 22 7 * ls /etc” >cronfile。 7月22日11点45分执行ls /etc 4) 使用crontab命令安装crontab文件,安排计划任务:#crontab cronfile。 5) 查看计划任务表,看看计划任务是否已被安排:#crontab –l。 6) 删除计划任务列表,并进行确认。 (6)进程文件系统PROC; 1) 查看/proc目录下的内容; 2) 查看某进程的详细情况。 2.内存管理 使用free命令监视内存使用情况;使用vmstat命令监视虚拟内存情况;


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3