linux实验项目 进程控制操作

合集下载

高级进程管理Linux命令之kill与pgrep

高级进程管理Linux命令之kill与pgrep

高级进程管理Linux命令之kill与pgrep Linux操作系统提供了许多强大的工具和命令,用于管理进程。

在进程管理中,kill和pgrep是两个常用的高级命令。

本文将介绍这两个命令的使用方法和实际应用。

1. kill命令kill命令用于终止正在运行的进程。

它通过向目标进程发送指定信号来实现。

kill命令的基本语法如下:```bashkill [option] PID```其中,PID是要终止的进程ID,option是命令选项。

1.1 终止进程最常见的用法是使用kill命令终止进程。

这时,kill命令会发送SIGTERM信号给目标进程,目标进程收到该信号后会自行终止。

示例如下:```bashkill 1234```上述命令将终止进程ID为1234的进程。

1.2 强制终止进程有时候,目标进程可能会无法响应SIGTERM信号,这时可以使用kill命令的强制终止选项。

示例如下:```bashkill -9 1234```上述命令中的“-9”表示强制终止信号,它会使目标进程立即终止。

2. pgrep命令pgrep命令用于根据进程名或其他属性查找进程ID。

它常用于查找特定进程的PID,以便后续进行操作。

pgrep命令的基本语法如下:```bashpgrep [option] pattern```其中,pattern是要查找的进程名、进程ID或其他属性,option是命令选项。

2.1 查找进程ID最常见的用法是使用pgrep命令查找进程ID。

示例如下:```bashpgrep sshd```上述命令将查找名为sshd的进程,并显示其PID。

2.2 杀死匹配进程结合kill命令,pgrep命令可以用于终止某个特定进程。

示例如下:```bashkill $(pgrep sshd)```上述命令将查找名为sshd的进程并终止之。

3. 实际应用kill和pgrep命令在实际应用中非常有用,可以用于管理运行的进程。

实验一 进程的控制

实验一 进程的控制

实验一进程的控制一、实验目的:熟悉vi全屏幕编辑器及gcc编译器的使用和可执行文件的执行;熟悉进程的创建、撤销、执行和父进程的同步。

以加深对进程概念和并发执行的理解,明确进程与程序之间的区别。

二、实验内容:1、了解系统调用fork()、exec()、exit()和wait()等功能和实现过程;2、使用vi编辑器输入一个C语言程序,用gcc编译器编译,然后运行可执行文件a.out;3、编写一段C程序,使用系统调用fork()创建两个子进程。

当此程序执行时,在系统中有一个父进程和两个子进程活动,让每一个进程在屏幕上显示一个字符;父进程显示字符“a”,子进程分别显示字符“b”、“c”。

试观察记录屏幕上的显示结果,并分析原因。

4、编一段程序,实现父进程创建子进程,每个进程都在屏幕上显示自己的ID号。

观察记录ID显示的顺序并分析原因。

实验二、进程间通信一、实验目的:通过进程的创建、执行、终止,实现父、子进程间的同步。

二、实验内容及要求:1、编写一程序,父进程创建一个子进程,父进程等待子进程,子进程执行完后自我终止,并唤醒父进程,父、子进程执行时打印有关信息。

2、编写一个C程序使其能完成:父进程创建一个子进程,在子进程运行时显示当前目录下的所有文件和目录,父进程输出子进程和自己进程的ID。

在程序运行时控制进程的顺序;子进程先执行,父进程后执行。

实验三:进程间管道通信一、实验目的及要求:学习利用管道机制实现进程间的通信,加深对管道通信机制的理解。

二、实验内容1、了解系统调用pipe()、read()、write()、lockf()等功能及实现过程。

2、编写一段程序,利用无名管道(用pipe()创建)实现进程间的通信。

父进程创建两个子进程,两个子进程分别向管道中写一条消息:“I am child1.”和“I am child2.”而父进程从管道中读出这两条消息,并显示在屏幕上。

实验四:文件管理一、实验目的及要求:熟悉文件的操作。

操作系统实验报告

操作系统实验报告

操作系统实验报告实验项⽬⼆进程管理⼀、实验⽬的1.理解进程的概念,掌握⽗、⼦进程创建的⽅法。

2.认识和了解并发执⾏的实质,掌握进程的并发及同步操作。

⼆、实验内容1.编写⼀C语⾔程序,实现在程序运⾏时通过系统调⽤fork( )创建两个⼦进程,使⽗、⼦三进程并发执⾏,⽗亲进程执⾏时屏幕显⽰“I am father”,⼉⼦进程执⾏时屏幕显⽰“I am son”,⼥⼉进程执⾏时屏幕显⽰“I am daughter”。

2.多次连续反复运⾏这个程序,观察屏幕显⽰结果的顺序,直⾄出现不⼀样的情况为⽌。

记下这种情况,试简单分析其原因。

3.修改程序,在⽗、⼦进程中分别使⽤wait()、exit()等系统调⽤“实现”其同步推进,并获取⼦进程的ID号及结束状态值。

多次反复运⾏改进后的程序,观察并记录运⾏结果。

三、源程序及运⾏结果源程序1:#include#include#includeint main(int argc, char ** argv ){int pid=fork();if(pid < 0)printf("error!");else if( pid == 0 ){printf("I am son!\n");}else{int pid=fork();if (pid < 0)printf("error!");else if( pid == 0 ){printf(“I am daughter! \n");}elseprintf("I am father!\n");}sleep(1);return 0;}运⾏结果:源程序2:#include#include#includeint main(int argc, char ** argv ) {char *message;int n;int pid=fork();if(pid < 0)printf("error!");else if( pid == 0 ){message="I am daughter!"; pid=getpid();n=3;}else{int pid=fork();if (pid < 0)printf("error!");else if( pid == 0 ){message="I am son!";pid=getpid();n=3;}elsemessage="I am father!";n=3;}for(;n>0;n--){puts(message);sleep(1);}return 0;}运⾏结果:四、实验分析与总结1.实验内容1运⾏结果为什么⽆固定顺序,fork()函数创建进程是如何并发执⾏的。

操作系统实验指导1

操作系统实验指导1

操作系统实验指导书楚雄师范学院计算机科学系操作系统课程组2011-9-20第一部分操作系统上机指导Linux操作系统环境:RedHat Enterprise Linux ES release 3 (Taroon Update 1) (2.4.21-9.EL)Red Flag Linux release 4.0 (HOT) (2.4)登录到系统常用命令练习:用root账号(超级用户)注册,口令为jkxroot(注意大小写)。

注册成功出现#号(超级用户系统提示符,普通用户的系统提示符为$)。

注销(退出)系统:logout 或exit3.练习使用命令ls(注意Linux命令区分大小写。

)使用ls 查看当前目录内容;使用ls 查看指定目录内容,如/目录,/etc目录使用ls –all 查看当前目录内容;使用dir 查看当前目录内容4.使用cd改变当前目录cd .. 回到上层目录;cd / 回到根目录5.pwd 显示当前路径6.建立目录mkdirmkdir 目录名;mkdir /home/s2001/newdir7.删除目录:rmdir;8.复制文件cp:如cp 文件名1 文件名29.移动文件或目录: mv10.删除文件rm11. 显示文件内容:more (分页显示);12. 显示文件:cat 文件名建立文件:cat >文件名,ctrl+d结束输入使用编辑器vi 编辑文件进入linux的文本模式之后,在命令行键入vi filename.c 然后回车。

下面作一些简单的解释:首先vi命令是打开vi编辑器。

后面的filename.c是用户即将编辑的c文件名字,注意扩展名字是.c;当然,vi编辑器功能很强,可以用它来编辑其它格式的文件,比如汇编文件,其扩展名字是.s;也可以直接用vi打开一个新的未命名的文件,当保存的时候再给它命名,只是这样做不很方便。

最基本的命令I :当进入刚打开的文件时,不能写入信息,这时按一下键盘上的I键(insert),插入的意思,就可以进入编辑模式了。

操作系统实验报告-pv操作-读者写着-linux

操作系统实验报告-pv操作-读者写着-linux
四、 运行环境 运行平台:Linux 语言:c
五、 相关函数及操作 相关函数: (1) pthread_create UNIX 环境创建线程函数,具体格式: int pthread_create(pthread_t *restrict tidp,const pthread_attr_t *restrict attr,void*(*start_rtn)(void*),void *restrict arg); 返回值:若成功则返回 0,否则返回出错编号 返回成功时,由 tidp 指向的内存单元被设置为新创建线程的线程 ID。 attr 参数用于制定各种不同的线程属性。新创建的线程从 start_rtn 函数
本原理,增强了自己的动手能力。
课程设计中也实践了 windows 操作系统中创建进程,发现了两者的不同: linux 操作系统仅通过 pv 操作实现进程的同步与互斥,而 windows 操作系统 还有同步量,临界区的操作。
学会了运行及操作虚拟机,在课程设计中遇到了困难独立查找相关资料 也可以很快地解决。
sem_wait(&mutex) ; readcount -- ; if ( readcount == 0 && writecount>0 )
sem_post(&sw) ; sem_post(&mutex) ; } void writer(void *arg)
{ printf("Writer %d sents the writing require.\n",(int *)arg);
(4) sem_post 函数 sem_post( sem_t *sem )用来增加信号量的值。当有线程阻塞在
这个信号量上时,调用这个函数会使其中的一个线程不在阻塞,选择机 制同样是由线程的调度策略决定的。

基于Unix/Linux环境的进程实验项目研究

基于Unix/Linux环境的进程实验项目研究
维普资讯
20 0 6年 6 月
广西师范学院学报( 自然 科 学 版 )
Jun l f un x T ahr E uai i ri ( aua S i c dt n o ra o a g i eces d ct nUn e t N trl c neE io ) G o v sy e i
录会话 及进 程组脱 离 , 同时进程 与原 控制 终端 也会脱 离 ; ( )忽 略 S GH 3 I UP信号 ( 在控 制终 端 上发 生 的结束 信 号 ) 再 次 调用 fr ( 生 成新 的子 进 程 , , ok ) 同时
结束 父进程 , 目的是使 新生 成 的子进 程不再 是会 话组 长 , 就不 能获 得新 的控制终 端 ; 也 ( )将 工作 目录 改变 到根 目录 , 4 以使 守护 进程 不会影 响启 动它 的文件 卷 的卸载 ; ()清除文 件模 式创 建掩 码 , 5 这样守 护进 程创 建 的新文 件权 限位不 受 原先 文 件 模式 创 建 掩码 的影

般有 2 0到 5 0个 守护进 程在 后 台运行 , 执行 着不 同的服 务和管 理任务 . 数网络 服务器 是 以守护 进程 多
的方式运 行 பைடு நூலகம் .
守护 进程 的工作 原理 : Ci t evr 式下 . 在 ln/ re 模 e S 服务 器监 听 ( ie ) Ls n 在一 个 特定 的端 口上等 待 客户 t 连接 . 接成功 后服 务器 和客 户端 通过端 口进 行数 据通 信 . 连 守护 进程 的工作 就 是 打开 一个 端 口 , 并且 等 待进入 连接 . 如果客 户端 产生 一个 连接请 求 , 守护 进程 就创 建 ( Ok 一 个子 服 务器 响 应 这个 连 接 , 主 F r) 而

UbuntuLinux操作系统(第3版)(微课版)教学大纲

UbuntuLinux操作系统(第3版)(微课版)教学大纲

《UbuntuLinux操作系统》教学大纲学时:54代码:适用专业:高职高专类计算机专业制定:审核:批准:一、课程的地位、性质和任务1.inUX在服务器平台、桌面应用和嵌入式应用等领域应用广泛,并形成了自己的产业生态。

云计算、大数据、物联网等新兴信息技术应用大部分以Linux作为操作系统平台。

为加速解决操作系统国产化问题,许多国产操作系统都是基于LinUX研发的。

UbUntU又是LinUX桌面系统的首选,尤其适合初学者快速入门。

许多国产操作系统与UbUnIU同源,因此,学好UbUntU有助于读者过渡到国产操作系统的使用和运维,参与构建安全可控的信息技术体系。

本课程的开设旨在培养掌握LinUX操作系统的管理运维应用型人才,既服务自主可控操作系统的开发战略,又满足我国紧缺人才的需求。

通过本课程的学习,学生应能熟悉LinUX操作系统的基本操作,掌握LinUX操作系统的配置管理、软件使用和开发环境部署。

本课程将紧密结合实际,以LinUX桌面系统UbUntU为例讲解操作系统的使用和配置,为学生今后进行系统管理运维、软件开发和部署奠定基础。

整个课程按照从基础到应用,从基本功能到高级功能的逻辑进行讲授,要求学生通过动手实践来掌握相关的技术操作技能。

本课程培养的IEET核心能力如下。

(1)具备系统管理方向的系统工程师的工程能力:掌握LinUX配置管理和运维,包括用户与组管理、文件与目录管理、磁盘存储管理、软件包管理、系统高级管理、SheIl自动化运维、服务器安装与管理。

(2)具备应用开发工程师的开发环境部署能力,包括Shen编程、C/C++编译、JaVa和PythOn开发环境、LAMP平台等部署和流程。

(3)基木职业素养:具有良好的文化修养、职业道德、服务意识和敬业精神;接受企业的文化;具有较强的语言文字表达、团结协作和社会活动等基本能力;具有基本的英语文档阅读能力,能较熟练地阅读理解UbuntuLinux的相关英文资料。

《Linux操作系统》课程标准

《Linux操作系统》课程标准

《Linux操作系统》课程标准(理论)二、课程定位Linux操作系统是计算机科学与技术、数据科学与大数据技术、物联网工程等专业开设的一门专业必修课程。

Linux是自由软件项目的重要组成部分。

它目前广泛地应用于计算机科学研究、软件技术研究、网络服务后台系统等需要高可靠性、高复杂度的环境之中。

因此,学习使用Linux也成为计算机相关专业人员所必备的技能之一。

掌握Linux操作系统的基本应用技能,可以更好地理解多用户多任务操作系统的文件和目录管理、用户和组管理、磁盘管理、软件包管理、进程管理和Shell编程等知识,对综合实践能力的培养有重要的促进作用。

为后续课程如Hadoop生态圈大数据开发技术起到重要的支撑作用。

三、课程目标总体目标本课程通过相关理论的讲授和若干实验任务的实施,培养学生用理论知识去分析并解决问题的能力;通过不断的上机实践培养学生实际操作能力并积累Linux操作系统使用经验;通过任务分解及设计,培养学生在Linux环境下进行软件开发和系统管理的实践能力与创新能力,从而促进学生综合应用能力的发展。

(一)知识目标1.掌握Linux操作系统的发展历史、应用领域及安装方法;2.掌握Linux常用命令的用法;3.熟练运用vi编辑器;4.掌握文件和目录管理的基本概念、基本原理及相关命令的用法;5.掌握用户和组管理的基本概念、基本原理及相关命令的用法;6.掌握磁盘管理的基本概念、基本原理及相关命令的用法;7.掌握软件包管理相关命令的用法;8.掌握进程管理的基本概念、基本原理及相关命令的用法;9.熟练掌握Shell编程的相关方法。

(二)能力目标1.具备在命令行界面下完成基本操作的能力;2.具备文件和目录管理、用户和组管理、磁盘管理、软件包管理、进程管理、shell编程开发能力;3.具备独立解决问题的能力、较好的综合实践能力;4.具备开发创新能力;5.具备Linux的前沿应用能力。

(三)情感价值目标1.培养学生的学习兴趣与探索精神,激发学生的创新思维与创造力;2.培养学生的自主学习能力,掌握利用在线资源、文档和社区论坛进行技术学习和问题解决的方法;3.培养学生的社会责任感、专业认同感、科技报国的家国情怀和科学严谨、一丝不苟的工作作风;4.培养学生遵守信息技术行业的职业道德和行为规范,尊重知识产权,坚定政治立场,理解并遵守相关的法律法规。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

重庆电力高等专科学校





实验名称:Linux文件命令学院:信息工程学院
指导老师:黄泽伟
班级:软件1311
学号:201303100243
姓名:周贵波
实验项目进程控制操作
一、实验目的
1.了解进程的概念。

2.熟悉Linux的前台与后台进程控制操作。

3.掌握利用进程监控工具来维护系统的正常运行。

二、实验环境
安装了Red Hat Linux9.0和windows虚拟机系统的计算机一台。

三、实验内容
1.Linux的前台与后台进程控制操作。

2.系统监视器(system monitor)的使用和系统维护。

四、实验步骤
1.进程的前台工作方式
1)yes ok ←┘
终端窗口显示___ok___,此时键盘能否输入其它命令____不能___,为什么?
2)按键:Ctrl+Z,暂停一个前台进程的运行,并转为挂起进程。

3)jobs ←┘记录下看到的结果_____yes ok_________________。

4)fg %1 ←┘作用:把挂起进程转为前台进程执行;
5)再按键:Ctrl+Z 作用与2)相同;
6)jobs ←┘记录下看到的结果________yes ok______________。

7)bg %1 ←┘作用:重新运行挂起进程,但以后台方式运行;
8)此时能否再按键:Ctrl+Z暂停一个后台进程的运行?____不能__,
键盘能否输入其它命令__不能_____,为什么?
9)用鼠标点击,关闭终端窗口。

2.进程的后台工作方式
除上面把前台进程转到后台进程的过程外,一般在shell提示符下,输入的命令后加上&,即以后台方式运行命令。

再次进入终端方式。

1)xclock & ←┘后台进程1,记录其时钟的时间___16:40____
xcalc & ←┘后台进程2
find / -name ‗*.jpg‘–print > templist & ←┘后台进程3
2)jobs ←┘有几个后台进程:__2______,记录显示结果: xclock xcalc &
ps ←┘记录下看到的结果:
4036 pts/0 00:00:00 bash
4061 pts/0 00:00:00 xcalc
4063 pts/0 00:00:00 ps
3)fg %1 ←┘将时钟进程转到前台运行。

4)按键:Ctrl+Z, 将时钟进程挂起,记录时钟的时间___16:50______。

jobs ←┘观察显示结果____xcalc &________________。

回顾上述操作,经过二~三分钟后,看图形时钟有走动吗?____否___。

5)bg %1 ←┘
将挂起的时钟进程转到后运行,现在再观察时钟是否会有变化,为什么?
有后台继续运行
jobs ←┘
kill %2 ←┘杀死计算器进程,看计算器是否消失__否______。

6)ps ←┘
观察屏幕显示,记录时钟(xclock)进程的进程号pid=__________。

7)kill <pid> ←┘ pid为xclock的进程号,作用__newline____________。

试比较与上述步骤5)中的kill命令的区别。

8)ls –l ←┘是否有templist文件? ____否____。

9)rm templist ←┘删除临时文件。

10)xclock & ←┘
3.Linux的GUI下进程控制和系统维护
1)点击“主菜单/系统工具/系统监视器”(system/system monitor);
2)查看标签页“进程列表”(Processes),注意各进程的状态:
进程名用户内存 %CPU ID
在各项目旁有“▼”或“▲”,表示降序或升序排列,点击一下,看看有什么变化。

3)点击“进程列表”下的“查看”中的“活动的进程”,作如下记录:
___________,这是进程的什么状态变化?___睡眠变化________________。

4)进入“终端方式”
键入命令:yes test process ←┘
切换到“进程列表”窗口,观察“活动的进程”有什么变化?
___x 进程名python_都在变化且cpu也在变化__________________________________________________
5)点击标签页“系统监视器”,观察“%CPU使用历史”、“内存/交换使用历史”、“设备”的项目内容。

此时你会发现CPU的利用率很高,有些不正常,是由哪个进程引起的?
答:前台进程
再次查看标签页“进程列表”中的“活动进程”,把那个非常“活跃”的进程杀死。

五、实验思考题:
1.如何来观察系统中的进程?
答:通过观察cpu的活跃度和内存占用率
2.对占用系统资源异常的进程如何处理?
答; 杀死进程或终止进程
六、实验心得与体会。

通过这次对进程的实验,从中学到了许多有趣的事。

通过与老师上课的结合感觉还行,只是在有些实验步骤做完后不知道该如何去回答老师的问题;
希望老师能讲讲这个实验,同时,我也要在多看看书那样才能更好地掌握linux 这门技术。

相关文档
最新文档