管理Linux 系统进程操作实验报告
linux系统管理实训报告

linux系统管理实训报告《linux 系统管理实训报告》一、实训目的本次 Linux 系统管理实训的主要目的是让我们深入了解和掌握Linux 操作系统的基本原理、常用命令和系统管理的实际操作技能。
通过实际动手操作,培养我们解决实际问题的能力,为今后在工作中运用 Linux 系统打下坚实的基础。
二、实训环境在本次实训中,我们使用了虚拟机软件虚拟机软件名称来搭建Linux 系统环境。
所安装的 Linux 发行版为具体发行版名称,版本号为具体版本号。
虚拟机的配置为:详细的配置信息,如内存、硬盘大小等。
三、实训内容(一)用户和权限管理1、用户创建与删除使用`useradd` 命令创建新用户,如创建用户名为`user1` 的用户:`useradd user1` 。
通过`passwd` 命令为新用户设置密码。
使用`userdel` 命令删除用户,如删除`user1` 用户:`userdel user1` 。
2、用户组创建与管理使用`groupadd` 命令创建新用户组,如创建组名为`group1` 的用户组:`groupadd group1` 。
使用`usermod` 命令将用户添加到用户组或从用户组中删除。
3、文件权限设置通过`chmod` 命令设置文件和目录的权限。
权限分为读(r)、写(w)、执行(x)三种,分别用数字 4、2、1 表示。
例如,将文件`filetxt` 的权限设置为所有者具有读写执行权限,所属组和其他用户具有读和执行权限,可以使用命令:`chmod 755 filetxt` 。
(二)进程管理1、进程查看使用`ps` 命令查看系统中的进程信息,包括进程的 ID、CPU 使用率、内存占用等。
常用的选项有`ps ef` 可以查看系统中所有进程的详细信息,`ps aux` 可以显示系统中所有用户的进程信息。
2、进程控制使用`kill` 命令终止进程。
首先通过`ps` 命令获取要终止的进程ID,然后使用`kill 进程 ID` 命令来终止进程。
linux进程管理的实验报告

实验报告:Linux进程管理1. 引言本实验报告将详细介绍Linux系统中进程管理的相关知识和操作。
进程管理是操作系统中的一个重要组成部分,它负责控制和调度系统中运行的各个进程,确保系统资源的合理分配和进程的正常运行。
在本实验中,我们将通过一系列步骤来了解Linux系统中进程的创建、监控和控制。
2. 实验环境为了完成本实验,我们需要在一台运行Linux操作系统的计算机上进行操作。
本实验报告基于Ubuntu 20.04 LTS操作系统进行撰写,但是适用于大多数Linux 发行版。
3. 实验步骤步骤一:创建新进程在Linux系统中,可以通过fork()系统调用来创建新的进程。
以下是一个简单的示例代码:#include <stdio.h>#include <unistd.h>int main() {pid_t pid = fork();if (pid == 0) {// 子进程逻辑printf("这是子进程\n");} else if (pid > 0) {// 父进程逻辑printf("这是父进程\n");} else {// 进程创建失败printf("进程创建失败\n");}return0;}步骤二:查看进程信息Linux系统提供了多种命令来查看系统中运行的进程信息。
以下是一些常用的命令:•ps:显示当前终端下的进程列表。
•top:实时显示进程的CPU、内存等资源占用情况。
•pstree:以树状结构显示进程的层次关系。
步骤三:杀死进程有时候我们需要终止一个运行中的进程,可以使用kill命令来发送终止信号给目标进程。
以下是一个示例:kill <PID>请将<PID>替换为目标进程的进程ID。
步骤四:进程优先级调整通过调整进程的优先级,可以影响进程在系统中的调度顺序。
在Linux系统中,可以使用nice命令来调整进程的优先级。
Linux进程管理-实验报告

《Linux 操作系统设计实践》实验一:进程管理实验目的:(1) 加深对进程概念的理解,明确进程和程序的区别。
(2)进一步认识并发执行的实质.(3) 学习通过进程执行新的目标程序的方法。
(4) 了解Linux 系统中进程信号处理的基本原理.实验环境:Red Hat Linux实验内容:(1)进程的创建编写一段程序,使用系统调用fork()创建两个子进程,当此进程运行时,在系统中有一个父进程和两个子进程活动,让每一个进程在屏幕上显示一个字符,父进程显示字符“a";子进程分别显示字符“b”和字符“c”,试观察记录屏幕上的显示结果,并分析原因.程序代码:#include<stdio。
h〉int main(){int p1 ,p2 ;while((p1=fork())==-1);if(p1==0)putchar(’b');else{while((p2=fork())==—1);if(p2==0)putchar(’c');elseputchar(’a');}return 0;}运行结果:bca分析:第一个while里调用fork()函数一次,返回两次。
子进程P1得到的返回值是0,父进程得到的返回值是新子进程的进程ID(正整数);接下来父进程和子进程P1两个分支运行,判断P1==0,子进程P1符合条件,输出“b”;接下来else里面的while里再调用fork()函数一次,子进程P2得到的返回值是0,父进程得到的返回值是新子进程的进程ID(正整数);接下来判断P2==0,子进程P2符合条件,输出“c”,接下来父进程输出“a”,程序结束。
(2)进程的控制①修改已编写的程序,将每个进程输出一个字符改为每个进程输出一句话,在观察程序执行时屏幕上出现的现象,并分析原因。
程序代码:#include〈stdio。
h>int main(){int p1,p2;while((p1=fork())==-1);if(p1==0)printf("Child1 is running!\n”);else{while((p2=fork())==—1);if(p2==0)printf(”Child2 is running!\n”);elseprintf(”Fath er is running!\n”);}return 0;}运行结果:Child1 is running!Child2 is running!Father is running!分析:本实验和上一个实验一样,只是将每个进程输出一个字符改为每个进程输出一句话.第一个while里调用fork()函数一次,返回两次。
进程管理实验报告分析(3篇)

第1篇一、实验背景进程管理是操作系统中的一个重要组成部分,它负责管理计算机系统中所有进程的创建、调度、同步、通信和终止等操作。
为了加深对进程管理的理解,我们进行了一系列实验,以下是对实验的分析和总结。
二、实验目的1. 加深对进程概念的理解,明确进程和程序的区别。
2. 进一步认识并发执行的实质。
3. 分析进程争用资源的现象,学习解决进程互斥的方法。
4. 了解Linux系统中进程通信的基本原理。
三、实验内容1. 使用系统调用fork()创建两个子进程,父进程和子进程分别显示不同的字符。
2. 修改程序,使每个进程循环显示一句话。
3. 使用signal()捕捉键盘中断信号,并通过kill()向子进程发送信号,实现进程的终止。
4. 分析利用软中断通信实现进程同步的机理。
四、实验结果与分析1. 实验一:父进程和子进程分别显示不同的字符在实验一中,我们使用fork()创建了一个父进程和两个子进程。
在父进程中,我们打印了字符'a',而在两个子进程中,我们分别打印了字符'b'和字符'c'。
实验结果显示,父进程和子进程的打印顺序是不确定的,这是因为进程的并发执行。
2. 实验二:每个进程循环显示一句话在实验二中,我们修改了程序,使每个进程循环显示一句话。
实验结果显示,父进程和子进程的打印顺序仍然是随机的。
这是因为并发执行的进程可能会同时占用CPU,导致打印顺序的不确定性。
3. 实验三:使用signal()捕捉键盘中断信号,并通过kill()向子进程发送信号在实验三中,我们使用signal()捕捉键盘中断信号(按c键),然后通过kill()向两个子进程发送信号,实现进程的终止。
实验结果显示,当按下c键时,两个子进程被终止,而父进程继续执行。
这表明signal()和kill()在进程控制方面具有重要作用。
4. 实验四:分析利用软中断通信实现进程同步的机理在实验四中,我们分析了利用软中断通信实现进程同步的机理。
linux的进程管理实验总结

linux的进程管理实验总结Linux的进程管理实验总结1. 引言Linux中的进程管理是操作系统的核心功能之一,在实际的系统运行中起着重要的作用。
进程管理能够有效地分配系统资源、管理进程的运行状态和优先级,以及监控进程的行为。
本文将以Linux的进程管理实验为主题,分步骤介绍实验过程及总结。
2. 实验目的本次实验的目的是理解Linux中进程的概念,掌握进程的创建、运行和终止的基本操作,以及进程的状态转换过程。
3. 实验环境本次实验使用的是Linux操作系统,可以选择使用虚拟机安装Linux或者使用Linux主机进行实验。
4. 实验步骤4.1 进程的创建在Linux中,可以使用系统调用fork()来创建一个新的子进程。
在实验中,可以编写一个简单的C程序来调用fork()系统调用,实现进程的创建。
具体步骤如下:(1)创建一个新的C程序文件,例如"process_create.c"。
(2)在C程序文件中,包含必要的头文件,如<stdio.h>和<unistd.h>。
(3)在C程序文件中,编写main()函数,调用fork()函数进行进程的创建。
(4)编译并运行该C程序文件,观察控制台输出结果。
实验中,可以通过观察控制台输出结果,判断新的子进程是否被成功创建。
4.2 进程的运行在Linux中,通过调用系统调用exec()可以用一个新的程序替换当前进程的执行。
可以使用exec()函数来实现进程的运行。
具体步骤如下:(1)创建一个新的C程序文件,例如"process_run.c"。
(2)在C程序文件中,包含必要的头文件和函数声明,如<stdio.h>和<unistd.h>。
(3)在C程序文件中,编写main()函数,调用execl()函数来执行一个可执行程序。
(4)编译并运行该C程序文件,观察控制台输出结果。
实验中,可以通过观察控制台输出结果,判断新的程序是否被成功执行。
实验报告5Linux进程管理

实验报告5Linux进程管理实验五 Linux进程管理四、实验过程(实验步骤、记录、数据、分析、结果)(⼀)进程查看、终⽌、挂起及暂停等操作1、使⽤ps命令查看和控制进程1)显⽰本⽤户进程#ps2)显⽰所有⽤户的进程#ps–au3)在后台运⾏cat命令#cat&4)查看进程cat#ps aux |grep cat5)杀死进程cat#kill -9 cat6)再次查看进程cat,看看是否被杀死。
2、使⽤top命令查看和控制进程1)⽤top命令动态显⽰当前的进程。
2)只显⽰某⼀⽤户的进程(u)3)杀死指定进程号的进程(k)3、挂起和恢复进程1)执⾏命令cat2)按【ctrl+z】挂起进程3)输⼊jobs命令,查看作业4)输⼊bg,把cat切换到后台执⾏5)输⼊fg,把cat切换到前台执⾏6)按【ctrl+c】结束进程(⼆)通过at命令实现计划任务1、5分钟后执⾏/bin/date#at now+5minutesat>/bin/dateat>(提⽰:输⼊【ctrl+d】job任务号at 年-⽉-⽇⼩时:分钟如何查看结果?使⽤atq可以查询到已添加的at计划任务2、查找系统中任何以c为后缀名的⽂档,将结果保存到$HOME/findc⽂件中,指定时间为2016年12⽉01⽇早上8点#at 8am 12/01/16at>find / -name ‘*.c’>$HOME/findcat>job任务号at 年-⽉-⽇⼩时:分钟如何查看结果?使⽤atq可以查询到已添加的at计划任务3、2题的命令写到$HOME/findjob中,使⽤at命令执⾏,并将结果保存到$HOME/findfc⽂件中,指定时间为当前时间后5分钟#vi $HOME/findjob内容如下:find / -name ‘*.c’>$HOME/findfc存盘退出#at –f $HOME/findjob now+5minutes4、at命令实现在3天后统计/etc/inittab⽂件的⾏数,将统计结果发送⾄$HOME/initline⽂件中#at now+3daysat>wc–l /etc/inittab>>$HOME/initlineat>5.列出现有的所有at任务,并记下相关信息6、删除某at任务,并进⾏查看是否删除(三)通过cron命令实现计划任务1、使⽤cron命令实现12⽉每天下午2点系统进⾏维护状态,重新启动系统#vi $HOME/shutcron输⼊内容:00 14 * 12 * /sbin/shutdown–r存盘退出#crontab $HOME/shutcron2、使⽤cron命令实现在12⽉1号星期四的17点30分查看/etc/passwd内容,并将查看结果送⾄$HOME/passtext #vi $HOME/checkcron输⼊内容:30 17 1 12 4 more /etc/passwd>$HOME/passtext存盘退出#crontab $HOME/checkcron3、查看当前的crontab⽂件#crontab -l4、⽤户user的crontab⽂件#crontab –u user –r。
linux进程线程管理实验报告
linux进程线程管理实验报告————————————————————————————————作者:————————————————————————————————日期:西安郵電學院操作系统LINUX实验报告题目1:进程______题目2:线程管理__题目3:互斥_____系部名称:计算机学院专业名称:软件工程班级:0802学号:04085048学生姓名:郭爽乐时间:2010-10-31实验一: 进程管理一.实验目的通过观察、分析实验现象,深入理解进程及进程在调度执行和内存空间等方面的特点,掌握在POSIX 规范中fork和kill系统调用的功能和使用。
二.实验要求2.1 实验环境要求1. 硬件(1) 主机:Pentium III 以上;(2) 内存:128MB 以上;(3) 显示器:VGA 或更高;(4) 硬盘空间:至少100MB 以上剩余空间。
2. 软件Linux 操作系统,内核2.4.26 以上,预装有X-Window 、vi、gcc、gdb 和任意web 浏览器。
2.2 实验前的准备工作学习man 命令的用法,通过它查看fork 和kill 系统调用的在线帮助,并阅读参考资料,学会fork 与kill 的用法。
复习C 语言的相关内容。
三、实验内容3.1 补充POSIX 下进程控制的残缺版实验程序3.2回答下列问题:1. 你最初认为运行结果会怎么样?2. 实际的结果什么样?有什么特点?试对产生该现象的原因进行分析。
3. proc_number 这个全局变量在各个子进程里的值相同吗?为什么?4. kill 命令在程序中使用了几次?每次的作用是什么?执行后的现象是什么?5. 使用kill 命令可以在进程的外部杀死进程。
进程怎样能主动退出?这两种退出方式哪种更好一些?四、实验结果4.1 补充完全的源程序#include<stdio.h>#include<sys/types.h>#include<unistd.h>#include<signal.h>#include<ctype.h>#define MAX_CHILD_NUMBER 10/* 允许建立的子进程个数最大值 */ #define SLEEP_INTERV AL 1/* 子进程睡眠时间 */int proc_number=0; /* 子进程的编号,从0开始 */void do_something();main(int argc,char *argv[]){int child_proc_number=MAX_CHILD_NUMBER; /* 子进程个数 */ int i,ch;pid_t child_pid;pid_t pid[10]={0};/* 存放每个子进程的id */if(argc>1){child_proc_number=atoi(argv[1]);child_proc_number=(child_proc_number>10)?10:child_proc_number; /* 命令行参数中的第一个参数表示建立几个子进程,最多10个 */ }/*建立child_proc_number个子进程* 子进程要执行* proc_number = i;* do_something();* 父进程把子进程的id保存到pid[i] */for(i=0;i<child_proc_number;i++){child_pid=fork();if(child_pid== -1){perror("creat error!\n");return 1;}else if(child_pid>0)pid[i]=child_pid;else{proc_number=i;do_something();}}/* 让用户选择杀死哪个进程。
进程的管理实验报告
一、实验目的1. 理解进程的基本概念和进程状态转换过程。
2. 掌握进程创建、进程同步和进程通信的方法。
3. 了解进程调度算法的基本原理和实现方法。
4. 通过实验加深对进程管理的理解,提高操作系统实践能力。
二、实验环境1. 操作系统:Linux2. 编程语言:C/C++3. 开发工具:GCC三、实验内容1. 进程创建与状态转换(1)使用fork()函数创建一个子进程,并观察父进程和子进程的进程ID。
(2)使用exec()函数替换子进程的映像,实现进程的创建。
(3)观察进程状态转换过程,如创建、运行、阻塞、就绪、终止等。
2. 进程同步(1)使用互斥锁(mutex)实现进程的互斥访问共享资源。
(2)使用信号量(semaphore)实现进程的同步,如生产者-消费者问题。
(3)观察进程同步的效果,确保进程安全执行。
3. 进程通信(1)使用管道(pipe)实现进程间的单向通信。
(2)使用消息队列(message queue)实现进程间的双向通信。
(3)使用共享内存(shared memory)实现进程间的快速通信。
(4)观察进程通信的效果,确保数据正确传递。
(1)实现基于优先级的进程调度算法,如先来先服务(FCFS)和最高优先级优先(HPF)。
(2)实现基于时间片的轮转调度算法(RR)。
(3)观察进程调度算法的效果,分析不同算法的优缺点。
四、实验步骤1. 编写程序实现进程创建与状态转换,使用fork()和exec()函数。
2. 编写程序实现进程同步,使用互斥锁和信号量。
3. 编写程序实现进程通信,使用管道、消息队列和共享内存。
4. 编写程序实现进程调度,使用优先级调度和时间片轮转调度。
5. 编译并运行程序,观察实验结果,分析实验现象。
五、实验结果与分析1. 进程创建与状态转换通过实验,我们成功创建了父进程和子进程,并观察到进程ID的变化。
在进程创建过程中,父进程的进程ID与子进程的进程ID不同,说明子进程是独立于父进程的实体。
linux系统使用实验报告
linux系统使用实验报告Linux 系统使用实验报告一、实验目的本次实验旨在深入了解和熟悉 Linux 操作系统的基本操作、命令行使用以及系统配置,掌握常见的文件管理、进程管理、用户权限管理等功能,提高对 Linux 系统的实际应用能力。
二、实验环境1、操作系统:Ubuntu 2004 LTS2、实验工具:终端模拟器(Terminal)三、实验内容与步骤(一)系统登录与基本命令1、启动计算机,选择 Ubuntu 操作系统,输入用户名和密码登录系统。
2、打开终端模拟器,熟悉常用的基本命令,如`ls` (列出当前目录下的文件和文件夹)、`cd` (切换目录)、`mkdir` (创建新目录)、`rmdir` (删除空目录)等。
(二)文件管理1、在用户主目录下创建一个名为`experiment` 的文件夹,使用`mkdir experiment` 命令。
2、进入该文件夹,使用`cd experiment` 命令。
3、在`experiment` 文件夹中创建一个文本文件`filetxt` ,使用`touch filetxt` 命令。
4、使用`vi` 或`nano` 编辑器打开`filetxt` 文件,输入一些文本内容,并保存退出。
5、查看文件的内容,使用`cat filetxt` 命令。
6、复制文件,使用`cp filetxt file_copytxt` 命令。
7、移动文件,使用`mv filetxt/`命令将文件移动到上级目录。
8、删除文件,使用`rm file_copytxt` 命令。
(三)进程管理1、运行一个后台进程,例如`ping &`,然后使用`jobs` 命令查看后台进程。
2、将后台进程切换到前台,使用`fg %1` (其中%1 为后台进程的编号)命令。
3、终止进程,使用`Ctrl + C` 组合键终止正在运行的进程。
4、查看系统当前运行的进程,使用`ps aux` 命令。
(四)用户权限管理1、创建一个新用户,使用`sudo adduser username` 命令,其中`username` 为新用户的用户名。
Linux的进程管理实验报告
实验报告Linux进程管理实验内容:1,进程运行控制命令2,进程管理命令3,调度进程命令4,信息管理命令姓名:学好:520913080429专业:信息安全09-041,进程运行控制命令[root@localhost ~]# find / -name testing & <==将该执行程序放在后台执行[1] 5673You have new mail in /var/spool/mail/root[root@localhost ~]# fg <=将该程序教会屏幕前执行find / -name testing[1]+ Stopped find / -name testing[root@localhost ~]#[root@localhost /]# vi .bashrc[2]+ Stopped vi .bashrc <=两个进程被丢到后台当中[root@localhost /]#[root@localhost /]# jobs[1]- Stopped find / -name testing (wd: ~)[2]+ Stopped vi .bashrc[root@localhost /]# <=显示有两个工作在后台下,状态为停止[root@localhost /]# find / -name test/usr/lib/ruby/1.8/test/usr/lib/python2.4/email/test/usr/lib/python2.4/test/usr/lib/python2.4/bsddb/test/usr/lib/pgsql/test/usr/bin/test/usr/include/boost/mpl/aux_/test/usr/include/boost/test/usr/share/pear/test/usr/share/doc/db4-devel-4.3.29/ref/test/usr/share/doc/lynx-2.8.5/test/usr/share/doc/ncurses-devel-5.5/test[3]+ Stopped find / -name test[root@localhost /]#[root@localhost /]# vi .bashrc[4]+ Stopped vi .bashrc[root@localhost /]#[root@localhost /]# jobs[1] Stopped find / -name testing (wd: ~)[2] Stopped vi .bashrc[3]- Stopped find / -name test[4]+ Stopped vi .bashrc[root@localhost /]#[root@localhost /]# bg %1[1] find / -name testing & (wd: ~)[root@localhost /]# /usr/share/doc/kernel-doc-2.6.18/Documentation/ABI/testing [root@localhost /]#[root@localhost /]# jobs[1] Running find / -name testing & (wd: ~)[2] Stopped vi .bashrc[3]- Stopped find / -name test[4]+ Stopped vi .bashrc[root@localhost /]# /work/mini2440/linux-2.6.32.2-mini2440/Documentation/ABI/testing[root@localhost /]#[root@localhost /]# bg %2[2] vi .bashrc &[root@localhost /]# jobs[1] Running find / -name testing & (wd: ~)[2]+ Stopped vi .bashrc[3] Stopped find / -name test[4]- Stopped vi .bashrc2,进程管理命令[root@localhost ~]# ps -auxWarning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.0 0.0 2044 636 ? Ss 12:05 0:01 init [5]root 2 0.0 0.0 0 0 ? S 12:05 0:00 [migration/0]root 3 0.0 0.0 0 0 ? SN 12:05 0:00 [ksoftirqd/0]root 4 0.0 0.0 0 0 ? S 12:05 0:00 [watchdog/0]root 5 0.0 0.0 0 0 ? S< 12:05 0:00 [events/0]root 6 0.0 0.0 0 0 ? S< 12:05 0:00 [khelper]root 7 0.0 0.0 0 0 ? S< 12:05 0:00 [kthread]root 9 0.0 0.0 0 0 ? S< 12:05 0:00 [xenwatch]root 10 0.0 0.0 0 0 ? S< 12:05 0:00 [xenbus]root 12 0.0 0.0 0 0 ? S< 12:05 0:00 [kblockd/0]root 13 0.0 0.0 0 0 ? S< 12:05 0:00 [kacpid]root 177 0.0 0.0 0 0 ? S< 12:05 0:00 [cqueue/0]root 181 0.0 0.0 0 0 ? S< 12:05 0:00 [khubd]root 183 0.0 0.0 0 0 ? S< 12:05 0:00 [kseriod]root 238 0.0 0.0 0 0 ? S 12:05 0:00 [pdflush]root 239 0.0 0.0 0 0 ? S 12:05 0:00 [pdflush]root 240 0.0 0.0 0 0 ? S< 12:05 0:00 [kswapd0]root 241 0.0 0.0 0 0 ? S< 12:05 0:00 [aio/0]root 445 0.0 0.0 0 0 ? S< 12:05 0:00 [kpsmoused]root 475 0.0 0.0 0 0 ? S< 12:05 0:00 [scsi_eh_0]root 480 0.0 0.0 0 0 ? S< 12:05 0:00 [kmirrord]root 485 0.0 0.0 0 0 ? S< 12:05 0:00 [ksnapd]root 488 0.0 0.0 0 0 ? S< 12:06 0:01 [kjournald]root 516 0.0 0.0 0 0 ? S< 12:06 0:00 [kauditd]root 550 0.0 0.0 2388 816 ? S<s 12:06 0:01 /sbin/udevd -droot 1271 0.0 0.0 0 0 ? S< 12:06 0:00 [kgameportd]root 2162 0.0 0.0 0 0 ? S< 12:07 0:00 [kjournald]root 2652 0.0 0.2 5276 2584 ? S 12:07 0:01 /usr/sbin/vmtoolsdroot 2704 0.0 0.2 9840 2088 ? Ss 12:07 0:00 cupsdroot 3164 0.0 0.0 12060 636 ? S<sl 12:08 0:00 auditdroot 3166 0.0 0.3 9504 3712 ? S<s 12:08 0:00 python /sbin/audispdroot 3180 0.0 0.0 1704 584 ? Ss 12:08 0:00 syslogd -m 0root 3183 0.0 0.0 1656 404 ? Ss 12:08 0:00 klogd -xrpc 3216 0.0 0.0 1784 548 ? Ss 12:08 0:00 portmaproot 3245 0.0 0.0 1800 732 ? Ss 12:08 0:00 rpc.statdroot 3278 0.0 0.0 4952 568 ? Ss 12:08 0:00 rpc.idmapddbus 3297 0.0 0.1 2852 964 ? Ss 12:08 0:00 dbus-daemon --systemroot 3308 0.0 0.0 2128 756 ? Ss 12:08 0:00 /usr/sbin/hcidroot 3312 0.0 0.0 1724 496 ? Ss 12:08 0:00 /usr/sbin/sdpdroot 3337 0.0 0.0 0 0 ? S< 12:08 0:00 [krfcommd]root 3376 0.0 0.1 33192 1284 ? Ssl 12:08 0:00 pcscdroot 3395 0.0 0.0 1896 444 ? Ss 12:08 0:00 /usr/bin/hidd --serverroot 3415 0.0 0.1 9344 1108 ? Ssl 12:08 0:00 automountroot 3434 0.0 0.0 1656 524 ? Ss 12:08 0:00 /usr/sbin/acpidroot 3445 0.0 0.0 5088 496 ? Ss 12:08 0:00 ./hpiodroot 3450 0.0 0.4 13172 4548 ? S 12:08 0:00 python ./hpssd.pyroot 3465 0.0 0.0 5184 924 ? Ss 12:08 0:00 /usr/sbin/sshdroot 3477 0.0 0.0 2680 884 ? Ss 12:08 0:00 xinetd -stayalive -pidfile /var/root 3497 0.0 0.1 8500 1804 ? Ss 12:08 0:00 sendmail: accepting connections smmsp 3505 0.0 0.1 7564 1448 ? Ss 12:08 0:00 sendmail: Queue runner@01:00:00 root 3518 0.0 0.0 1876 352 ? Ss 12:08 0:00 gpm -m /dev/input/mice -t exps2 root 3529 0.0 0.1 5476 1112 ? Ss 12:08 0:00 crondxfs 3564 0.0 0.1 3940 1780 ? Ss 12:08 0:00 xfs -droppriv -daemonroot 3575 0.0 0.0 1652 504 ? SNs 12:08 0:00 anacron -sroot 3585 0.0 0.0 2216 436 ? Ss 12:08 0:00 /usr/sbin/atdroot 3624 0.5 1.2 25456 12156 ? S 12:08 0:14 /usr/bin/python /usr/sbin/yum-up avahi 3650 0.0 0.1 2684 1364 ? Ss 12:09 0:01 avahi-daemon: running [localhost avahi 3651 0.0 0.0 2552 316 ? Ss 12:09 0:00 avahi-daemon: chroot helper68 3663 0.1 0.4 6236 4308 ? Ss 12:09 0:03 haldroot 3664 0.0 0.1 3112 964 ? S 12:09 0:00 hald-runner68 3670 0.0 0.0 1980 788 ? S 12:09 0:00 hald-addon-acpi: listening on ac68 3677 0.0 0.0 1976 788 ? S 12:09 0:00 hald-addon-keyboard: listening o root 3688 0.0 0.0 1936 616 ? S 12:09 0:00 hald-addon-storage: polling /dev root 3955 0.0 0.0 2100 932 ? S 12:09 0:00 xenstored --pid-file /var/run/xeroot 3961 0.0 0.0 12152 420 ? Sl 12:09 0:00 xenconsoledroot 3963 0.0 0.4 11844 3940 ? S 12:09 0:00 python /usr/sbin/xend startroot 3964 0.0 0.5 63064 4924 ? Sl 12:09 0:00 python /usr/sbin/xend startroot 3965 0.0 0.0 13496 600 ? Ssl 12:09 0:00 blktapctrlroot 4344 0.0 0.0 2292 708 ? Ss 12:09 0:00 /sbin/dhclient -1 -q -lf /var/liroot 4466 0.0 0.0 1912 336 ? S 12:09 0:00 /usr/sbin/smartd -q neverroot 4478 0.0 0.0 1640 432 tty1 Ss+ 12:09 0:00 /sbin/mingetty tty1root 4480 0.0 0.0 1640 428 tty2 Ss+ 12:09 0:00 /sbin/mingetty tty2root 4481 0.0 0.0 1636 428 tty3 Ss+ 12:09 0:00 /sbin/mingetty tty3root 4482 0.0 0.0 1640 432 tty4 Ss+ 12:09 0:00 /sbin/mingetty tty4root 4483 0.0 0.0 1640 432 tty5 Ss+ 12:09 0:00 /sbin/mingetty tty5root 4509 0.0 0.0 1636 428 tty6 Ss+ 12:09 0:00 /sbin/mingetty tty6root 4510 0.0 0.4 16964 4248 ? Ss 12:09 0:00 /usr/sbin/gdm-binary -nodaemon root 4585 0.0 0.2 15988 2652 ? S 12:09 0:00 /usr/sbin/gdm-binary -nodaemon root 4589 0.0 0.1 16964 1508 ? S 12:09 0:00 /usr/sbin/gdm-binary -nodaemon root 4591 0.3 1.3 19960 12916 tty7 Ss+ 12:09 0:08 /usr/bin/Xorg :0 -br -audit 0 -aroot 4799 0.0 0.6 23060 6000 ? Ss 12:15 0:00 /usr/bin/gnome-sessionroot 4828 0.0 0.0 0 0 ? Z 12:15 0:00 [Xsession] <defunct>root 4861 0.0 0.0 4308 508 ? Ss 12:15 0:00 /usr/bin/ssh-agent /usr/bin/dbus root 4864 0.0 0.0 2756 504 ? S 12:15 0:00 /usr/bin/dbus-launch --exit-with root 4865 0.0 0.0 2720 848 ? Ss 12:15 0:00 /bin/dbus-daemon --fork --print- root 4871 0.0 0.3 7348 3416 ? S 12:15 0:00 /usr/libexec/gconfd-2 5root 4875 0.0 0.0 2552 588 ? S 12:15 0:00 /usr/bin/gnome-keyring-daemon root 4877 0.0 0.8 34028 8044 ? Sl 12:15 0:00 /usr/libexec/gnome-settings-daem root 4894 0.0 1.1 25160 11280 ? Ss 12:15 0:00 /usr/lib/scim-1.0/scim-launcherroot 4907 0.0 1.1 39776 11528 ? Ss 12:15 0:00 metacity --sm-client-id=default1root 4912 0.0 1.4 98520 14212 ? Ss 12:15 0:02 gnome-panel --sm-client-id defau root 4914 0.3 1.8 136400 18176 ? Ss 12:15 0:07 nautilus --no-default-window --sroot 4918 0.0 0.3 38896 2948 ? Ssl 12:15 0:00 /usr/libexec/bonobo-activation-s root 4922 0.0 0.3 11360 3092 ? S 12:15 0:00 /usr/libexec/gnome-vfs-daemon root 4926 0.0 0.8 44884 8096 ? Ss 12:15 0:00 eggcups --sm-client-id default4root 4938 0.3 1.9 77512 18920 ? S 12:15 0:08 /usr/lib/vmware-tools/bin32/vmwa root 4941 0.0 0.0 6452 576 ? Ss 12:15 0:00 /usr/lib/scim-1.0/scim-helper-ma root 4942 0.0 0.6 49540 6596 ? Ssl 12:15 0:00 /usr/lib/scim-1.0/scim-panel-gtk root 4946 0.0 0.5 14584 4996 ? Ss 12:15 0:00 bt-applet --sm-disableroot 4948 0.0 0.0 13548 816 ? Ss 12:15 0:00 /usr/lib/scim-1.0/scim-launcher root 4952 0.1 1.3 25236 13336 ? Ss 12:15 0:04 /usr/bin/python -tt /usr/bin/pup root 4960 0.0 0.1 2536 1196 ? S 12:16 0:00 /usr/libexec/gam_serverroot 4962 0.0 1.3 97264 12776 ? S 12:16 0:00 /usr/libexec/wnck-applet --oaf-a root 4964 0.0 0.9 104952 8800 ? S 12:16 0:00 /usr/libexec/trashapplet --oaf-aroot 4980 0.0 0.2 17280 2212 ? Sl 12:16 0:00 ./escd --key_Inserted="/usr/bin/ root 4983 0.1 0.9 74352 9260 ? Ss 12:16 0:02 nm-applet --sm-disableroot 4985 0.0 0.0 2452 828 ? S 12:16 0:00 /usr/libexec/mapping-daemonroot 4992 0.0 0.4 15396 4608 ? Ss 12:16 0:01 pam-panel-icon --sm-client-id de root 4995 0.0 0.6 74052 6320 ? Ss 12:16 0:00 gnome-power-managerroot 4996 0.0 0.0 1820 620 ? S 12:16 0:00 /sbin/pam_timestamp_check -d roo root 5017 0.0 0.4 16404 4068 ? Ss 12:16 0:00 gnome-screensaverroot 5029 0.6 2.6 64052 25252 ? S 12:16 0:14 /usr/bin/python -E /usr/bin/seal root 5046 0.0 0.6 23148 6532 ? S 12:16 0:01 /usr/libexec/notification-area-a root 5049 0.1 1.3 97332 12944 ? S 12:17 0:02 /usr/libexec/mixer_applet2 --oaf root 5052 0.1 1.2 48824 11612 ? S 12:17 0:02 /usr/libexec/clock-applet --oaf-root 5061 0.0 0.1 12292 1000 ? S 12:17 0:00 scim-bridgeroot 5437 0.0 1.7 131360 17252 ? Sl 12:28 0:00 gnome-terminalroot 5442 0.0 0.0 2452 660 ? S 12:28 0:00 gnome-pty-helperroot 5443 0.0 0.1 5052 1516 pts/1 Ss 12:28 0:00 bashroot 5933 0.0 0.1 5004 1248 pts/1 T 12:44 0:00 vi .bashrcroot 6062 0.0 0.1 4800 1108 pts/1 T 12:48 0:00 find / -name testroot 6159 0.0 0.1 5028 1308 pts/1 T 12:50 0:00 vi .bashrcroot 6271 0.0 0.0 4476 952 pts/1 R+ 12:54 0:00 ps -aux[root@localhost ~]#USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDUSER :进程属于那个人的PID :进程号%CPU :使用了多少CPU资源%MEM :使用了多少RAMVSZ RSS :占用的Ram的大小TTY :若为tty1-tty6则为本机用户,STAT :该进程的状态START :该进程开始的日期TIME :该进程运行了多久的时间COMMAND :该进程的内容[root@localhost ~]# toptop - 13:06:05 up 1:00, 1 user, load average: 0.00, 0.01, 0.08Tasks: 123 total, 2 running, 117 sleeping, 3 stopped, 1 zombieCpu(s): 0.7%us, 0.7%sy, 0.0%ni, 98.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%stMem: 962500k total, 826544k used, 135956k free, 215324k buffers Swap: 2031608k total, 0k used, 2031608k free, 411772k cachedPID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND4591 root 15 0 38392 12m 5316 S 1.3 1.3 0:09.46 Xorg5437 root 15 0 128m 17m 10m R 0.3 1.8 0:00.75 gnome-terminal1 root 15 0 2044 636 540 S 0.0 0.1 0:01.04 init2 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/03 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/04 root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/05 root 10 -5 0 0 0 S 0.0 0.0 0:00.12 events/06 root 20 -5 0 0 0 S 0.0 0.0 0:00.02 khelper7 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kthread9 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 xenwatch10 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 xenbus12 root 10 -5 0 0 0 S 0.0 0.0 0:00.42 kblockd/013 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 kacpid177 root 18 -5 0 0 0 S 0.0 0.0 0:00.00 cqueue/0181 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 khubd183 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kseriod238 root 23 0 0 0 0 S 0.0 0.0 0:00.00 pdflush239 root 15 0 0 0 0 S 0.0 0.0 0:00.51 pdflush240 root 18 -5 0 0 0 S 0.0 0.0 0:00.00 kswapd0241 root 18 -5 0 0 0 S 0.0 0.0 0:00.00 aio/0445 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kpsmoused 475 root 18 -5 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_0480 root 19 -5 0 0 0 S 0.0 0.0 0:00.00 kmirrord485 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 ksnapd488 root 10 -5 0 0 0 S 0.0 0.0 0:01.28 kjournald516 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kauditd550 root 17 -4 2388 816 372 S 0.0 0.1 0:01.48 udevd1271 root 17 -5 0 0 0 S 0.0 0.0 0:00.00 kgameportd 2162 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kjournald 2652 root 15 0 5276 2584 2152 S 0.0 0.3 0:01.59 vmtoolsdYou have new mail in /var/spool/mail/rootTop为动态进程查看cpu使用的情况[root@localhost ~]# sar -u 1 3Linux 2.6.18-8.el5xen (localhost.localdomain) 2011年11月07日13时09分33秒CPU %user %nice %system %iowait %steal %idle13时09分34秒all 1.00 0.00 1.00 0.00 0.00 98.0013时09分35秒all 3.96 0.00 0.00 0.000.00 96.0413时09分36秒all 0.00 0.00 1.00 0.00 0.00 99.00Average: all 1.66 0.00 0.66 0.00 0.00 97.67[root@localhost ~]#查看内存的使用情况[root@localhost ~]# sar -r 1 3Linux 2.6.18-8.el5xen (localhost.localdomain) 2011年11月07日13时10分44秒kbmemfree kbmemused %memused kbbuffers kbcached kbswpfree kbswpused %swpused kbswpcad13时10分45秒134656 827844 86.01 215596 411924 2031608 0 0.00 013时10分46秒134656 827844 86.01 215596 411924 2031608 0 0.00 013时10分47秒134656 827844 86.01 215596 411924 2031608 0 0.00 0Average: 134656 827844 86.01 215596 411924 2031608 0 0.00 0You have new mail in /var/spool/mail/root[root@localhost ~]#关闭进程PID为2652的进程[root@localhost ~]# kill -9 2652[root@localhost ~]#查看系统的内核版本,主机名称,cpu信息[root@localhost ~]# uname -aLinux localhost.localdomain 2.6.18-8.el5xen #1 SMP Fri Jan 26 14:42:21 EST 2007 i686 i686 i386 GNU/LinuxYou have new mail in /var/spool/mail/root[root@localhost ~]#了解cpu的详细信息[root@localhost ~]# more /proc/cpuinfoprocessor : 0vendor_id : GenuineIntelcpu family : 6model : 23model name : Intel(R) Core(TM)2 Duo CPU E7500 @ 2.93GHz stepping : 10cpu MHz : 2925.552cache size : 3072 KBfdiv_bug : nohlt_bug : nof00f_bug : nocoma_bug : nofpu : yesfpu_exception : yescpuid level : 13wp : yesflags : fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 clflush dts acpi mmx fxsrsse sse2 ss nx lm constant_tsc up pni cx16 lahf_lmbogomips : 7338.60[root@localhost ~]#查看进程的优先级[root@localhost ~]# ps -lF S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD0 S 0 5443 5437 0 75 0 - 1263 wait pts/1 00:00:00 bash0 T 0 5933 5443 0 75 0 - 1251 finish pts/1 00:00:00 vi0 T 0 6062 5443 0 77 0 - 1200 finish pts/1 00:00:00 find0 T 0 6159 5443 0 78 0 - 1257 finish pts/1 00:00:00 vi4 R 0 7163 5443 0 77 0 - 1107 - pts/1 00:00:00 ps 3,调度进程命令[root@localhost ~]#[root@localhost ~]# at 5pmat> shutdown -h -nowat> You have new mail in /var/spool/mail/root[root@localhost ~]# atq[root@localhost ~]# at 5pm shutdown -h -nowUsage: at [-V] [-q x] [-f file] [-m] timeat [-V] [-q x] [-f file] [-m] -t [[CC]YY]MMDDhhmmat -c job [job...](atq | at -l) [-V] [-q x](atrm | at -d | at -r) [-V] [-q x] job ...batch [-V] [-f file] [-m][root@localhost ~]# at -qat: option requires an argument -- qUsage: at [-V] [-q x] [-f file] [-m] timeat [-V] [-q x] [-f file] [-m] -t [[CC]YY]MMDDhhmmat -c job [job...](atq | at -l) [-V] [-q x](atrm | at -d | at -r) [-V] [-q x] job ...batch [-V] [-f file] [-m][root@localhost ~]#[root@localhost ~]#[root@localhost ~]# crontab –e[root@localhost ~]# at 6pmat> sar -u 1 3at> <EOT>job 1 at 2011-11-10 18:00[root@localhost ~]#[root@localhost ~]# atq1 2011-11-10 18:00 a root 一个任务[root@localhost ~]#0 12 * * *mail test </home/test/test.txt[root@localhost ~]# crontab –r 删除所有[root@localhost ~]#crontab –l[root@localhost ~]# atq[root@localhost ~]# vi /etc/crontab 启动iv编辑器SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=rootHOME=/# run-parts01 * * * * root run-parts /etc/cron.hourly02 4 * * * root run-parts /etc/cron.daily22 4 * * 0 root run-parts /etc/cron.weekly42 4 1 * * root run-parts /etc/cron.monthly4,信息管理命令[root@localhost ~]# dmesg 显示开机信息[root@localhost ~]#dmesg | more[root@localhost ~]#uptime 查看系统开机时间[root@localhost ~]# uptime08:52:55 up 16 min, 1 user, load average: 0.02, 0.51, 0.55 [root@localhost ~]#whoroot pts/1 2011-11-10 08:49 (:0.0)[root@localhost ~]#[root@localhost ~]# whoamiroot[root@localhost ~]# [root@localhost ~]#last -5。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
操作系统实验报告题目:管理Linux 系统进程实验目的1) 回顾系统进程的概念,加深对Linux / UNIX 进程管理的理解。
2) 回顾ps 命令和选项。
3) 列出当前shell 中的进程。
4) 列出运行在系统中的所有进程。
5) 根据命令名搜索特定的进程。
6) 确定一个进程,终止它。
7) 使用kill 命令终止进程。
8) 根据用户查找和终止进程。
9) 根据命令名终止进程。
实验环境一台运行Red Hat Linux 操作系统的计算机。
实验内容与步骤注:本报告中蓝色字表示填空的内容,红色字表示仍然在纠结。
步骤1:登录进入GNOME。
在Linux 登录框中填写指导老师分配的用户名和口令,登录Linux 系统。
步骤2:访问命令行。
单击红帽子,在“GNOME 帮助”菜单中单击“系统工具”-“终端”命令,打开“终端”窗口。
步骤3:回顾系统进程概念。
每个运行的程序都会创建一个进程,进程分配到一个唯一的进程标识符(PID) 。
PID被系统用于标识和跟踪进程,直到进程结束。
操作系统内核管理所有进程的初始化和终止。
每一个进程都要求系统资源(例如CPU 时间和RAM空间)在其中工作。
当进程启动的时候,操作系统把系统资源分配给每个进程,当进程终止的时候,系统回收这些资源。
在Linux 系统启动的时候,首先启动的两个进程是sched (调度) 和init (初始化) ,它们管理着其他进程。
Linux 系统中有几种不同类型的进程:守护进程:由Linux 内核启动的进程,为了特定目的而存在。
例如,lpsched 守护进程存在只是为了处理打印作业。
父进程:派生其他进程的进程是父进程。
一个叫做init 的守护进程是第一个调用的进程。
每一个进程,除了init 之外,都有一个父进程。
子进程:由其他进程派生出来的进程叫做子进程。
孤儿进程:在进程返回输出之前,它的父进程结束了,这样的进程叫做孤儿进程。
僵进程:子进程没有带着输出返回给父进程。
这样的进程在系统中变成丢失的进程。
使用此前的信息,完成以下填空:1) Linux 系统中,几乎每一个启动的进程,都会由内核分配一个唯一的PID进程标识符,用于跟踪从进程启动到进程结束。
2) 当启动新进程的时候,内核也给它们分配系统资源,如CPU时间和RAM空间。
3) 永远不向父进程返回输出的进程叫做僵进程。
4) 由父进程派生出来的进程叫做子进程。
5) 父进程是一个派生另一个进程的进程。
6) 运行用于提供服务的Linux 系统进程是守护进程。
7) 如果父进程在子进程之前结束,它创建了一个孤儿进程。
步骤4:回顾ps 命令和信息。
ps 命令用于列出当前系统中运行的进程。
如果一个进程耗时太长,或者看上去好像已经终止了,表现为一个终端窗口不再响应或挂起,通常需要使用ps 查看系统中的进程。
通过列出进程,可以查看初始化进程的命令或程序的名字,以及所有它派生出来的子进程。
通过多次执行ps 命令,查看进程的时间——进程占用的CPU 时间,可以检查一个进程是否还在运行。
如果时间小再增长,那么进程可能已经终止了。
如果进程占用太长的时间或者已经停止,可以使用ps 命令检查进程的进程ID (PID) ,然后杀死进程。
ps 命令的输出将显示PID 号和与其相关的命令或程序。
PID 号通常用于终止一个进程。
ps 命令( ps [-options] ) 的3 个主要选项如下表所示。
表 3-5 ps 命令选项ps 选项意义功能Ps 无选项显示当前shell 或终端窗口中,当前用户的进程信息ps –e 每一个显示系统中每一个进程的信息ps –f 完全产生一个完全列表,给出每个进程的所有可用信息ps -u userid 用户显示特定用户的所有进程基本的ps 命令显示在当前shell 中的进程信息,用户只能够查看在这个终端窗口中初始化的进程。
输入ps 命令,将结果填入表3-6 中。
表 3-6 实验记录从当前终端窗口中,练习使用给出的每个选项的ps 命令。
输入ps -f 命令,显示运行在系统中的某个进程的完全信息,填入表3-7 中。
步骤5:列出系统中运行的所有进程。
输入ps -ef 命令,显示运行在系统中的各个进程的完全信息。
执行该命令,并与ps –f命令的输出结果对照,一致吗?有何不同?不一致,1)ps -ef 的进程很多____2)ps -ef 的CMD很多,但两者的bash很相似3)最后一个CMD一个是ps -f,一个是ps -ef注意分析当前终端窗口中的输出结果:a. 显示了多少个进程?____见截图___________________________________________________ _____________b. 进程ID 的PID 是什么?___进程标识符___________________________________________________ ___c. 启动进程的命令(CMD) 是什么?___ps_______________________________________________ __________________d. 请观察,什么命令的PID 号是1?___init[5]___________________________________________ _____________________e. 再次运行ps –ef 命令,计算进程的数目:___115_____________________________________________ ____________________然后执行下列命令把输出结果输入到wc 命令中:ps -ef | wc -l第一个数字显示的是行的数目,也是进程的数目:___117_____________________________________________ ____________________执行man ps 命令,可以打开Linux 用户命令手册,了解ps 命令的用法,输入wq 命令可退出用户手册的阅读。
man 命令可以执行吗?结果如何?不可以,见截图___________________________________________________ _步骤6:根据命令名搜索特定的进程。
为了终止一个进程,必须找到该进程的PID。
大多数运行的系统中,有上百个进程在运行,ps -ef 的列表可能很长。
如果知道启动进程的执行程序的名字,可以更快地找到PID。
通过把ps 命令的输出结果输入到grep 中,可以搜索想要终止的特定进程,确定正确的PID。
grep 命令可以在其他命令的输出中搜索所有类型的特征字符串。
-l (长的输出) 选项将显示和找到的PID 相关的进程的名字;-e 选项显示PID 和初始化命令的名字。
a. 单击红帽子,在“GNOME 帮助”菜单中单击“游戏”-“堆麻将”命令,打开“堆麻将”游戏。
(在这个步骤时没有认出哪个是堆麻将游戏,故而用游戏lagno代替)b. 在当前的终端窗口中,执行命令:ps –e | grep mahjongg(“堆麻将”游戏的进程名是“mahjongg”) ,查找和“堆麻将”游戏调度守护进程相关的所有进程。
c. 显示了多少个相关进程?显示了2个,见截图d. 显示进程中最小的进程ID 号是多少?___15015___________________________________________ ______________________c. 在当前终端窗口中执行命令:pgrep –l mahjongg查找所有和“堆麻将”游戏调度守护进程相关的进程。
ps 和pgrep 命令输出之间有什么不同?ps除了显示PID和CMD以外,还显示了TIME和TTY步骤7:确定一个要终止的进程。
当试图终止一个程序,或者释放一个挂起的终端窗口的时候,杀死和不响应的应用相关的PID 可能还是不够的,一般需要杀死那个进程的父进程,在少数情况下,甚至要杀死父进程的父进程。
为了沿着层次结构,从子进程追溯到派生它们的父进程,必须能够查找PID和PPID。
必须首先确定最低级不响应进程的PID。
通常,可以试着去杀死那个进程。
如果这样做不能够停止那个进程,可能需要杀死它的父进程。
杀死父进程将杀死所有它派生的子进程。
杀死一个父进程也比杀死几个子进程快得多。
1)在GNOME 当前终端窗口中,输入ps 命令。
有多少进程正在运行?为什么只有这么少的进程?2个,因为Ps 无选项显示当前 shell 或终端窗口中,当前用户的进程信息2) 正在运行的进程的名字是什么?它表示什么?bash和ps__________________________________________________ _______________3) 这个进程的PID 是多少?___14439和17368______________________________________________ _____4) 在bash shell 中输入命令csh,打开一个C shell 会话,当前系统的会话提示符是什么?___$_______________________________________________ ________________5) 输入ps -f 命令,显示在当前shell 中运行的进程的所有信息。
现在什么进程正在运行?____bash -sh ps –f__________________________________________________ ______6) bash 的PID 是-sh (csh) 的PPID 吗?_____是_______________________________________________________________7) 输入命令sleep l000&,创建一个进程,把执行挂起1000 秒(大约15 分钟) 。
&表示在后台运行命令,返回shell 提示符,这样您可以继续工作。
8) 再次输入ps -f 命令。
-sh (csh) 的PID是sleep 命令的PPID 吗?哪个PID是csh (C shell)的子进程?_是_____25061和250629) 输入命令kill -9 <csh 的PID> 退出C shell。
然后再次键入ps -f 命令。
什么PID 是sleep 父命令的PPID?____14439__________________________________________ ______________________sleep 进程现在是什么类型的进程?_____pts/1___________________________________________ ____________________步骤8:使用kill 命令终止一个进程。