任务管理器无法关闭进程vmware-vmx.exe且重启无法删除虚拟机对应文件

任务管理器无法关闭进程vmware-vmx.exe且重启无法删除虚拟机对应文件
任务管理器无法关闭进程vmware-vmx.exe且重启无法删除虚拟机对应文件

任务管理器无法关闭进程vmware-vmx.exe且重启无法删除虚拟机

任务管理器无法关闭进程vmware-vmx.exe,关闭vmware的服务还是无法关闭这个进程,而且重启win10操作系统后无法删除vmware-vmx.exe对应的虚拟机文件

解决步骤如下:

1.在命令行输入services.msc进入服务,再禁用以下vmware workstation server服务

2.重启操作系统,就可以在任务管理器删除vmware-vmx.exe进程了,对应的虚拟机的文件也可以删除了

3.设置vmware workstation server服务为自动,再右键启动服务

操作系统实验-进程控制

实验一、进程控制实验 1.1 实验目的 加深对于进程并发执行概念的理解。实践并发进程的创建和控制方法。观察和体验进程的动态特性。进一步理解进程生命期期间创建、变换、撤销状态变换的过程。掌握进程控制的方法,了解父子进程间的控制和协作关系。练习Linux 系统中进程创建与控制有关的系统调用的编程和调试技术。 1.2 实验说明 1)与进程创建、执行有关的系统调用说明进程可以通过系统调用fork()创建子进程并和其子进程并发执行.子进程初始的执行映像是父进程的一个复本.子进程可以通过exec()系统调用族装入一个新的执行程序。父进程可以使用wait()或waitpid()系统调用等待子进程的结束并负责收集和清理子进程的退出状态。 fork()系统调用语法: #include pid_t fork(void); fork 成功创建子进程后将返回子进程的进程号,不成功会返回-1. exec 系统调用有一组6 个函数,其中示例实验中引用了execve 系统调用语法: #include int execve(const char *path, const char *argv[], const char * envp[]); path 要装入 的新的执行文件的绝对路径名字符串. argv[] 要传递给新执行程序的完整的命令参数列表(可以为空). envp[] 要传递给新执行程序的完整的环境变量参数列表(可以为空).

Exec 执行成功后将用一个新的程序代替原进程,但进程号不变,它绝不会再返回到调用进程了。如果exec 调用失败,它会返回-1。 wait() 系统调用语法: #include #include pid_t wait(int *status); pid_t waitpid(pid_t pid,int *status,int option); status 用 于保留子进程的退出状态 pid 可以为以下可能值: -1 等待所有PGID 等于PID 的绝对值的子进程 1 等待所有子进程 0 等待所有PGID 等于调用进程的子进程 >0 等待PID 等于pid 的子进程option 规 定了调用waitpid 进程的行为: WNOHANG 没有子进程时立即返回 WUNTRACED 没有报告状态的进程时返回 wait 和waitpid 执行成功将返回终止的子进程的进程号,不成功返回-1。 getpid()系统调用语法: #include #include pid_t getpid(void); pid_t getppid(void); getpid 返回当前进程的进程号,getppid 返回当前进程父进程的进程号 2)与进程控制有关的系统调用说明可以通过信号向一个进程发送消息以控制进程的 行为。信号是由中断或异常事件引发的,如:键盘中断、定时器中断、非法内存引

如何优化进程和后台服务

如何优化进程和后台服务 2009-05-20 12:52 关掉不必要的服务 单击“开始”→“设置”→“控制面板”。双击“管理工具”→“服务”,打开后将看到服 务列表,有些服务已经启动,有些则没有。右键单击要配置的服务,然后单击“属性”。在 “常规”选项卡上选择“自动”、“手动”或“禁用”,其中“自动”表示每次系统启动时 ,WindowsXP都自动启动该服务;“手动”表示WindowsXP不会自动启动该服务,而是在你需 要该服务时手动启动该服务;而“禁用”则表示不允许启动该服务。在实际配置时,选择“ 手动”或者“禁用”都可以实现关闭该服务的目的,推荐使用手动功能,这样你随时可以启 动一些临时需要的服务。有些服务是WindowsXP所必需的,不能关闭,否则将会造成系统崩溃 。至于各项服务 的功能,我们可以通过双击该服务或将鼠标悬停在该服务名上查看。具体服务的说明浅显, 大家看得懂,可以自己选择那些要那些不要。修改的方法是:选中禁用的服务,点右键,选' 属性'>'停止',将'启动类型'设置为'手动'或'已禁用'。 以下为一些不常用的服务: Alerter-错误警报器。禁用 AutomaticUpdates-windows自动更新,不影响手动更新。禁用 Clipbook-与局域网电脑共享粘贴/剪贴的内容。禁用 ErrorReportingService-错误报告器。禁用 FastUserSwitchingCompatibility-多用户快速切换服务,不如用注销了。禁用HelpandSupport-帮助。手动 HumanInterfaceDeviceAccess-支持多媒体键盘等HID设备。手动 IMAPICD-BurningCOMService-有其他的刻录软件就不需要了。禁用IndexingService-索引服务,用于快速查找文件,关闭也能查。手动IPSECServices-安全方面的。手动 NetMeetingRemoteDesktopSharing-用Netmeeting实现电脑共享。禁用NetworkDDE-禁用 NetworkDDEDSDM-禁用 PerformanceLogsandAlerts-记录机器运行状况而且定时写入日志或发警告。手动 PortableMediaSerialNumber-禁用 PrintSpooler-打印机服务,关掉就无法打印了,视情况而定。手动RemoteDesktopHelpSessionManager-远程帮助服务,禁用 RemoteRegistry-远程注册表运行/修改。大漏洞,禁用RoutingandRemoteAccess-路由服务。禁用

操作系统实验报告--实验一--进程管理

实验一进程管理 一、目的 进程调度是处理机管理的核心内容。本实验要求编写和调试一个简单的进程调度程序。通过本实验加深理解有关进程控制块、进程队列的概念,并体会和了解进程调度算法的具体实施办法。 二、实验内容及要求 1、设计进程控制块PCB的结构(PCB结构通常包括以下信息:进程名(进程ID)、进程优先数、轮转时间片、进程所占用的CPU时间、进程的状态、当前队列指针等。可根据实验的不同,PCB结构的内容可以作适当的增删)。为了便于处理,程序中的某进程运行时间以时间片为单位计算。各进程的轮转时间数以及进程需运行的时间片数的初始值均由用户给定。 2、系统资源(r1…r w),共有w类,每类数目为r1…r w。随机产生n进程P i(id,s(j,k),t),0<=i<=n,0<=j<=m,0<=k<=dt为总运行时间,在运行过程中,会随机申请新的资源。 3、每个进程可有三个状态(即就绪状态W、运行状态R、等待或阻塞状态B),并假设初始状态为就绪状态。建立进程就绪队列。 4、编制进程调度算法:时间片轮转调度算法 本程序用该算法对n个进程进行调度,进程每执行一次,CPU时间片数加1,进程还需要的时间片数减1。在调度算法中,采用固定时间片(即:每执行一次进程,该进程的执行时间片数为已执行了1个单位),这时,CPU时间片数加1,进程还需要的时间片数减1,并排列到就绪队列的尾上。 三、实验环境 操作系统环境:Windows系统。 编程语言:C#。 四、实验思路和设计 1、程序流程图

2、主要程序代码 //PCB结构体 struct pcb { public int id; //进程ID public int ra; //所需资源A的数量 public int rb; //所需资源B的数量 public int rc; //所需资源C的数量 public int ntime; //所需的时间片个数 public int rtime; //已经运行的时间片个数 public char state; //进程状态,W(等待)、R(运行)、B(阻塞) //public int next; } ArrayList hready = new ArrayList(); ArrayList hblock = new ArrayList(); Random random = new Random(); //ArrayList p = new ArrayList(); int m, n, r, a,a1, b,b1, c,c1, h = 0, i = 1, time1Inteval;//m为要模拟的进程个数,n为初始化进程个数 //r为可随机产生的进程数(r=m-n) //a,b,c分别为A,B,C三类资源的总量 //i为进城计数,i=1…n //h为运行的时间片次数,time1Inteval为时间片大小(毫秒) //对进程进行初始化,建立就绪数组、阻塞数组。 public void input()//对进程进行初始化,建立就绪队列、阻塞队列 { m = int.Parse(textBox4.Text); n = int.Parse(textBox5.Text); a = int.Parse(textBox6.Text); b = int.Parse(textBox7.Text); c = int.Parse(textBox8.Text); a1 = a; b1 = b; c1 = c; r = m - n; time1Inteval = int.Parse(textBox9.Text); timer1.Interval = time1Inteval; for (i = 1; i <= n; i++) { pcb jincheng = new pcb(); jincheng.id = i; jincheng.ra = (random.Next(a) + 1); jincheng.rb = (random.Next(b) + 1); jincheng.rc = (random.Next(c) + 1); jincheng.ntime = (random.Next(1, 5)); jincheng.rtime = 0;

单元任务书8_管理进程和计划任务

单元任务书8_管理进程和计划任务 ?任务目标: ?能够使用init进程改变系统运行级别 ?能够改变系统服务程序在各运行级别的启动状态 ?能够查看进程 ?能够管理进程 ?能够使用at设置计划任务 ?能够使用crontab设置计划任务 ??任务一:优化Linux系统中的服务 ?实验环境: 公司在文件服务器中新安装了RHEL5操作系统,由于默认启动的服务程序较多,系统运行缓慢。现需要对系统服务进行适当优化,减少一些不必要的自启动服务,并设置系统在开机后直接进入字符模式。 ?实验准备: 安装好Linux操作系统的计算机 ?需求描述 ?设置Linux系统每次开机后自动进入字符模式界面 ?使用ntsysv工具同时调整2、3、4、5运行级别中的服务状态, 关闭以下系统服务:anacron、bluetooth、hidd、ip6tables、isdn、mcstrans、mdmonitor、nfslock、portmap、restorecond、rpcgssd、rpcidmapd、sendmail、settroubleshoot、yum-updatesd ?使用chkconfig工具调整个别服务的启动状态:将cups、gpm、 vncserver服务在运行级别3中的自启动状态设为关闭;将vsftpd、sshd服务在运行级别3、5中的自启动状态设为开启,在其余运行级别中设为关闭;将saslauthd服务在运行级别2、3、5中的自启动状态设为开启 ?查看当前系统中内存等资源的使用情况,重新启动系统登录到字 符模式后,确认当前运行级别状态,再次察看系统资源的占用情况

?使用init命令切换到图形模式,再次确认运行级别并查看内存等 资源的使用情况,比较优化服务前后及在不同运行级别中的差异?主要步骤: 1、修改“/etc/inittab”文件,将默认运行级别修改为3 2、运行ntsys工具,在交互操作界面中将上述服务名称前面的 “[*]”变为“[]” 3、使用chkconfig工具,结合“--level”选项分别调整cups、 vncserver、vsftpd、sshd、saslauthd服务在指定运行级别中的自启动状态 4、使用free或top命令(输出界面的上方)查看内存等资源的 使用情况,重启到字符模式后再次查看内存等资源的占用情况,并比较前后的区别 5、切换到图形模式后,再次查看内存等资源的使用情况(资源 占用介于前两者之间) 6、在后面的操作过程中,可以选择字符模式(运行级别为3) 作为实验环境,以减少对系统资源的占用 ??任务二:管理进程并设置计划运行的任务 ?实验环境: 为了更好地了解和控制Linux服务器的有序运行,需要管理员熟悉进程管理和计划任务设置的相关操作,以完成相应的服务运行维护任务。 ?实验准备: 安装好Linux操作系统的计算机 ?需求描述 ?管理系统中的进程 ?确认vsftpd、sshd服务的启动状态,并关闭vsftpd服务 ?启动bluetooth服务,然后使用kill命令终止其运行 ?查找系统中CPU占用率超过80的进程,并强行终止该进程 ?练习各种进程管理命令的使用 ?设置计划运行的系统管理任务 ?每周一早上7:50自动清空FTP服务器公共目录

第二章 操作系统进程(练习题标准答案)

第二章操作系统进程(练习题答案)

————————————————————————————————作者:————————————————————————————————日期: 2

第二章进程管理 1.操作系统主要是对计算机系统全部 (1) 进行管理,以方便用户、提高计算机使 用效率的一种系统软件。它的主要功能有:处理机管理、存储管理、文件管理、 (2) 管 理和设备管理等。Windows和Unix是最常用的两类操作系统。前者是一个具有图形界面的 窗口式的 (3) 系统软件,后者是一个基本上采用 (4) 语言编制而成的 的系统软件。在 (5) 操作系统控制下,计算机能及时处理由过程控制反馈的信息 并作出响应。 供选答案: (1): A. 应用软件 B. 系统软硬件 C. 资源 D. 设备 (2): A. 数据 B. 作业 C. 中断 D. I/O (3): A. 分时 B. 多任务 C. 多用户 D. 实时 (4): A. PASCAL B. 宏 C. 汇编 D. C (5): A. 网络 B. 分时 C. 批处理 D. 实时 答案:CBBDD 2.操作系统是对计算机资源进行的 (1) 系统软件,是 (2) 的接口。 在处理机管理中,进程是一个重要的概念,它由程序块、 (3) 和数据块三部 分组成,它有3种基本状态,不可能发生的状态转换是 (4) 。 虚拟存储器的作用是允许程序直接访问比内存更大的地址空间,它通常使用 (5) 作为它的一个主要组成部分。 供选答案: (1): A. 输入和输出 B. 键盘操作 C. 管理和控制 D. 汇编和执行 (2): A. 软件和硬件 B. 主机和外设 C. 高级语言和机器语言 D. 用户和计算机 (3): A. 进程控制块 B. 作业控制块 C. 文件控制块 D. 设备控制块 (4): A. 运行态转换为就绪态 B. 就绪态转换为运行态 C. 运行态转换为等待态 D. 等待态转换为运行态 (5): A. 软盘 B. 硬盘 C. CDROM D. 寄存器 答案:CDADB 3.在计算机系统中,允许多个程序同时进入内存并运行,这种方法称为 D。 A. Spodling技术 B. 虚拟存储技术 C. 缓冲技术 D. 多道程序设计技术 4.分时系统追求的目标是 C。 A. 高吞吐率 B. 充分利用内存 C. 快速响应 D. 减少系统开销 5.引入多道程序的目的是 D。

第二章-操作系统进程(练习题答案)

第二章进程管理 1.操作系统主要是对计算机系统全部 (1) 进行管理,以方便用户、提高计算机使 用效率的一种系统软件。它的主要功能有:处理机管理、存储管理、文件管理、 (2) 管 理和设备管理等。Windows和Unix是最常用的两类操作系统。前者是一个具有图形界面的 窗口式的 (3) 系统软件,后者是一个基本上采用 (4) 语言编制而成的 的系统软件。在 (5) 操作系统控制下,计算机能及时处理由过程控制反馈的信息 并作出响应。 供选答案: (1): A. 应用软件 B. 系统软硬件 C. 资源 D. 设备 (2): A. 数据 B. 作业 C. 中断 D. I/O (3): A. 分时 B. 多任务 C. 多用户 D. 实时 (4): A. PASCAL B. 宏 C. 汇编 D. C (5): A. 网络 B. 分时 C. 批处理 D. 实时 答案:CBBDD 2.操作系统是对计算机资源进行的 (1) 系统软件,是 (2) 的接口。 在处理机管理中,进程是一个重要的概念,它由程序块、 (3) 和数据块三部 分组成,它有3种基本状态,不可能发生的状态转换是 (4) 。 虚拟存储器的作用是允许程序直接访问比内存更大的地址空间,它通常使用 (5) 作为它的一个主要组成部分。 供选答案: (1): A. 输入和输出 B. 键盘操作 C. 管理和控制 D. 汇编和执行 (2): A. 软件和硬件 B. 主机和外设 C. 高级语言和机器语言 D. 用户和计算机 (3): A. 进程控制块 B. 作业控制块 C. 文件控制块 D. 设备控制块 (4): A. 运行态转换为就绪态 B. 就绪态转换为运行态 C. 运行态转换为等待态 D. 等待态转换为运行态 (5): A. 软盘 B. 硬盘 C. CDROM D. 寄存器 答案:CDADB 3.在计算机系统中,允许多个程序同时进入内存并运行,这种方法称为 D。 A. Spodling技术 B. 虚拟存储技术 C. 缓冲技术 D. 多道程序设计技术 4.分时系统追求的目标是 C。 A. 高吞吐率 B. 充分利用内存 C. 快速响应 D. 减少系统开销 5.引入多道程序的目的是 D。

第八章:进程管理和计划任务

第八章:进程管理和计划任务 一、进程的概念; 二、进程的管理(增、查、删); 三、计划任务的概念; 四、一次性计划任务的管理; 五、周期性计划任务的管理; 一、进程的概念; 总结:程序是保存在硬盘中的可执行代码或数据的静态集合; 进程是cpu及内存中处于动态执行状态的计算机程序; 进程由程序运行后产生,需要消耗cpu和内存,分为父子进程,子进程向父进程申请或提交; 线程:包含在进程中的一个实体,与所在的进程共用计算机资源,(单线程(串行)、多线程(并行)); 二、进程的管理:增(启动)、删(杀死或关闭)、查(显示进程) 查:查找进程ps/top/pgrep/pstree 1.语法:ps aux ##静态查看进程 RSS:物理内存,不包括swap,单位kb VSZ:虚拟内存 STAT:进程状态,R运行、S休眠、Z僵尸、s父进程、1多线程、<高优先级、N低优先级、+前台进程 2.语法:top ##动态显示进程的列表,相当于windows下的任务管理器,q退出,h帮助,k杀死。 top交互式中的基本操作: k--输入要杀死的PID--9代表强制杀死--15代表正常杀死(windows关机时有未关闭的程序时的提醒) 大写P按cpu使用情况进行将进程排序 q退出 3.补充知识:清除内存的缓存命令 echo 3 >/proc/sys/vm/drop_caches 4. pgrep命令:按条件查看进程; 语法:pgrep -l 关键字##查看包含关键字的进程 pgrep -l -u 用户名##查看该用户的进程

5.pstree命令:树形显示进程列表,显示包含其子进程; 语法:pstree -aup ##查看当前系统的进程树 pstree -ap 用户名##查看某用户的进程树 增:启动进程(举例:ping命令) 1.启动方式: 手动启动:手动执行命令进行开启进程; 调度启动:根据任务计划定时自动启动进程; 2.进程类型: 前台进程:在界面运行,必须等待结束后才能继续执行命令; 后台进程:不在操作界面运行。 3.前后台进程的管理: 启动前台进程: 启动后台进程:在运行命令后加上&,将现在运行的进程放到后台运行;例:cat /dev/zero >/dev/null & 挂起前台进程到后台:ctrl z 将正在运行的前台进程调到后台并暂停; 查看后台进程:jobs -l 恢复后台进程到前台:fg 后台进程编号(并非pid)将后台暂停的进程调到前台继续运行 删:停止进程kill/killall/pkill 1.ctrl c ##终止前台正在运行的进程 2.kill -9 PID ##强制终止单个进程 3.killall -9 进程名##强制终止此进程名称的所有有关进程 4.pkill -9 -u 用户名##针对此用户的所有进程强制终止 三、计划任务的概念: 1.概念:实现进程调度管理,在特定的时间(时间点)完成特定的任务(命令); 作用:周期性备份、定期更新系统、完成某一个特定的任务; 四、一次性计划任务管理:at 1.一次计划任务编写流程: 启动atd服务-->at(时间:例:at 00:17 2017-11-1)-->任务(命令)-->ctrl+d(提交)-->atq(查看)-->atrm 任务编号(删除) 五、周期性计划任务的管理; 1.了解crond:周期性执行命令,由crontabs软件提供系统计划任务内容;crond提供程序或用户自定义计划任务。 2.计划任务的格式:分时日月周要执行的命令##用户可以不指定,默认为root用户 3.时间的表示:所有时间为正常标准,特殊的表示以下: *:表示任意时间,可用在除分钟外的其他时间 -:表示连续的时间 /:表示时间的频率,如*/3表示每隔3 ,:表示不连续的时间,如1,3,5 4.设置周期性计划任务的方式: crontab -e -u 用户-->时间命令-->:wq --> crontab -l -->crontab -r (删除用户的所有计划任务) echo‘时间命令’>>/var/spool/cron/用户名--> crontab -l (查看) 5.案例: 每天早上7:50自动开启sshd服务,22点50时关闭 每隔5天清空一次FTP服务器公共目录/var/ftp/pub 每周六的7:30时,重新启动httpd服务 每周一、三、五的17:30时,打包备份/etc/httpd目录

Linux进程和计划任务管理实验报告

[root@localhost ~]# ps 显示当前用户会话中打开的进程 PID TTY TIME CMD 4321 pts/1 00:00:00 bash 4420 pts/1 00:00:00 ps [root@localhost ~]# ps aux 以简单列表的形式显示出所有进程信息 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 2072 664 ? Ss 15:43 0:00 init [5] root 2 0.0 0.0 0 0 ? S< 15:43 0:00 [migration/0] root 3 0.0 0.0 0 0 ? SN 15:43 0:00 [ksoftirqd/0] root 4 0.0 0.0 0 0 ? S< 15:43 0:00 [watchdog/0] root 5 0.0 0.0 0 0 ? S< 15:43 0:00 [events/0] [root@localhost ~]# ps -elf 以长格式显示系统中所有的进程信息 F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD 4 S root 1 0 0 7 5 0 - 518 - 15:43 ? 00:00:00 init 1 S root 2 1 0 -40 - - 0 migrat 15:4 3 ? 00:00:00 [mig] 1 S root 3 1 0 94 19 - 0 ksofti 15:43 ? 00:00:00 [kso] [root@localhost ~]# ps aux | grep bash 过滤出包含bash的进程信息 root 4064 0.0 0.1 6504 628 ? Ss 15:45 0:00 /usr/bin/ssh-agent /bin/sh -c exec -l /bin/bash -c "/usr/bin/dbus-launch --exit-with-session /etc/X11/xinit/Xclients" root 4321 0.0 0.4 5640 1504 pts/1 Ss 15:46 0:00 bash root 4672 0.0 0.1 5020 696 pts/1 R+ 16:01 0:00 grep bash [root@localhost ~]# top 查看进程动态信息 top - 16:04:42 up 20 min, 2 users, load average: 0.00, 0.00, 0.00 Tasks: 120 total, 2 running, 116 sleeping, 0 stopped, 2 zombie Cpu(s): 0.3%us, 0.3%sy, 0.0%ni, 99.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 360884k total, 354720k used, 6164k free, 14852k buffers Swap: 1052248k total, 0k used, 1052248k free, 209276k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 4230 root 20 0 39864 20m 10m S 0.0 5.9 0:00.15 puplet 4158 root 15 0 128m 20m 16m S 0.0 5.8 0:01.07 vmtoolsd [root@localhost ~]# pgrep -l "log" 查询进程名中包含log的进程及其PID号2987 syslogd 2990 klogd [root@localhost ~]# pgrep -l -U root -t tty1 查询用户root在tty1终端上运行的进程及PID号 3583 mingetty

服务进程

用C语言编写Windows服务程序的五个步骤(附源代码) Windows服务被设计用于需要在后台运行的应用程序以及实现没有用户交互的任务。为了学习这种控制台应用程序的基础知识,C(不是C++)是最佳选择。本文将建立并实现一个简单的服务程序,其功能是查询系统中可用物理内存数量,然后将结果写入一个文本文件。最后,你可以用所学知识编写自己的Windows服务。 当初我写第一个NT服务时,我到MSDN上找例子。在那里我找到了一篇Nigel Thompson写的文章:“Creating a Simple Win32Service in C++”,这篇文章附带一个C++例子。虽然这篇文章很好地解释了服务的开发过程,但是,我仍然感觉缺少我需要的重要信息。我想理解通过什么框架,调用什么函数,以及何时调用,但C++在这方面没有让我轻松多少。面向对象的方法固然方便,但由于用类对底层Win32函数调用进行了封装,它不利于学习服务程序的基本知识。这就是为什么我觉得C更加适合于编写初级服务程序或者实现简单后台任务的服务。在你对服务程序有了充分透彻的理解之后,用C++编写才能游刃有余。当我离开原来的工作岗位,不得不向另一个人转移我的知识的时候,利用我用C所写的例子就非常容易解释NT服务之所以然。 服务是一个运行在后台并实现勿需用户交互的任务的控制台程序。Windows NT/2000/XP操作系统提供为服务程序提供专门的支持。人们可以用服务控制面板来配置安装好的服务程序,也就是Windows 2000/XP控制面板|管理工具中的“服务”(或在“开始”|“运行”对话框中输入services.msc/s——译者注)。可以将服务配置成操作系统启动时自动启动,这样你就不必每次再重启系统后还要手动启动服务。 本文将首先解释如何创建一个定期查询可用物理内存并将结果写入某个文本文件的服务。然后指导你完成生成,安装和实现服务的整个过程。 第一步:主函数和全局定义 首先,包含所需的头文件。例子要调用Win32函数(windows.h)和磁盘文件写入(stdio.h): #include #include 接着,定义两个常量: #define SLEEP_TIME5000 #define LOGFILE"C:\\MyServices\\memstatus.txt" SLEEP_TIME指定两次连续查询可用内存之间的毫秒间隔。在第二步中编写服务工作循环的时候要使用该常量。 LOGFILE定义日志文件的路径,你将会用WriteToLog函数将内存查询的结果输出到该文件,WriteToLog 函数定义如下: int WriteToLog(char*str)

操作系统实验二(进程管理)

操作系统进程管理实验 实验题目: (1)进程的创建编写一段程序,使用系统调用fork( )创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“a”;子进程分别显示字符“b”和字符“c”。试观察记录屏幕上的显示结果,并分析原因。 (2)进程的控制修改已编写的程序,将每个进程输出一个字符改为每个进程输出一句话,在观察程序执行时屏幕上出现的现象,并分析原因。 (3)编制一段程序,使其实现进程的软中断通信。要求:使用系统调用fork( )创建两个子进程,再用系统调用signal( )让父进程捕捉键盘上来的中断信号(即按Del键);当捕捉到中断信号后,父进程调用系统调用kill( )向两个子进程发出信号,子进程捕捉到信号后分别输出下列信息后终止:Child process 1 is killed by parent! Child process 2 is killed by parent! 父进程等待两个子进程终止后,输出如下的信息后终止:Parent process is killed! 在上面的程序中增加语句signal(SIGINT, SIG_IGN)和signal(SIGQUIT, SIG_IGN),观察执行结果,并分析原因。 (4)进程的管道通信编制一段程序,实现进程的管道通信。使用系统调用pipe( )建立一条管道线;两个进程P1和P2分别向管道各写一句话:Child 1 is sending a message! Child 2 is sending a message! 而父进程则从管道中读出来自于两个子进程的信息,显示在屏幕上。要求父进程先接收子进程P1发来的消息,然后再接收子进程P2发来的消息。 实验源程序及报告: (1)、进程的创建 #include int main(int argc, char *argv[]) { int pid1,pid2; /*fork first child process*/ if ( ( pid1=fork() ) < 0 ) { printf( "ProcessCreate Failed!"); exit(-1); }

Windows7计划任务和服务优化详解大全最终版

Windows7 计划任务优化 windows7 计划任务非常庞大 ,一些非必要的计划浪费大量的系统资源, 所以我们有必要进行优化! 打开控制面板系统和安全计划任务(控制面板所有控制面板项管理工具任务计划程序)在“任务计划程序”的左边依次展开“任务计划程序库” -Microsoft-windows : 1.Application Experience ( Microsoft 客户体验改善计划)没有参加可以禁用AitAgent 和 ProgramDataUpdater 2.Autochk ( Microsoft 客户体验改善计划)没有参加可以禁用 Proxy 3.Bluetooth (卸载与指定 Bluetooth 服务 ID 关联的 PnP 设备)没蓝牙的可以禁用 UninstallDeviceTask 4.Customer Experience Improvement Program (Microsoft 客户体验改善计划)没 有参加可以禁用 Consolidator 、 Kernel Ceip Task 和 UsbCeip 5.DiskDiagnostic ( Windows 磁盘诊断)没有参加客户体验改善计划的可以禁用 Microsoft-Windows-Disk Diagnostic Data Collector 6.Media Center (Windows Media Center 程序相关计划)不使用 Windows Media Center 程序的可以全部禁用 7.Offline Files (脱机文件相关计划)不使用脱机文件的可以全部禁用 8.Registry (注册表空闲备份任务)根据自己的情况选择是否禁用(本人禁用)

操作系统习题集------进程管理

习题集 - 2 - 进程管理 1. 在优先级调度中,__________类进程可能被“饿死”,即长时间得不到调度。 A.短进程 B.长进程 C.低优先级进程 D.大内存进程 解: C。优先级调度算法(PRI)的基本思想是:内核为每个进程赋予一个优先级,进程按照优先级的大小顺序在就绪队列中排队,内核将CPU分配给就绪队列头部的第一个进程——优先级最大的进程。因此,进程的优先级越低,在就绪队列中的排队位置就越靠近队列尾,获得运行之前的等待时间就越长。低优先级的进程必须等待所有高优先级进程运行结束后才会被调度运行。如果不断有高优先级的进程加入就绪队列,那么低优先级进程就会一直等待下去。这就是所谓的“饿死”现象。 2. 在下面的系统调用中,__________不会导致进程阻塞。 A.读/写文件 B.获得进程PID C.申请内存 D.发送消息 解: B。当正在执行的进程需要使用某种资源或等待某个事件时,如果资源已被其他进程占用或事件尚未出现,该进程不能获得所需的资源而无法继续运行,于是,进程将被阻塞。进程在阻塞状态中等待资源被释放,或等待事件的发生。所以,进程在执行系统调用时,如果需要使用某种资源,就可能导致进程阻塞。“读/写文件”需要使用设备和文件缓冲区;“申请内存”需要分配内存资源;“发送消息”需要使用消息缓冲区。 3. 下面关于临界区的叙述中,正确的是__________ A.临界区可以允许规定数目的多个进程同时执行 B.临界区只包含一个程序段 C.临界区是必须互斥地执行的程序段 D.临界区的执行不能被中断 解: C。临界段(临界区)的概念包括两个部分:①临界资源:必须互斥访问的资源。例如,需要独占使用的硬件资源,多个进程共享的变量、结构、队列、栈、文件等软件资源。②临界区:访问临界资源的、必须互斥地执行的程序段。即,当一个进程在某个临界段中执行时,其他进程不能进入相同临界资源的任何临界段。

任务管理器中的进程哪些可以结束

任务管理器中的进程哪些可以结束 IEXPLORE.EXE Administrator TudouV a.exe Administrator alg.exe LOCAL SERVICE conime.exe Administrator ashWebSv.exe SYSTEM ashMaiSv.exe SYSTEM Explorer.EXE Administrator RavStub.exe SYSTEM ashServ.exe SYSTEM aswUpdSv.exe SYSTEM RavMonD.exe SYSTEM RavMon.exe Administrator ctfmon.exe Administrator RavTask.exe Administrator svchost.exe LOCAL SERVICE stsystra.exe Administrator svchost.exe NETWORK SERVICE TXPlatform.exe Administrator svchost.exe SYSTEM CCenter.exe SYSTEM svchost.exe NETWORK SERVICE svchost.exe SYSTEM lsass.exe SYSTEM services.exe SYSTEM winlogon.exe SYSTEM csrss.exe SYSTEM smss.exe SYSTEM wnwb.exe Administrator spoolsv.exe SYSTEM taskmgr.exe Administrator System SYSTEM System Idle Process SYSTEM 此中svchost.exe这个进程项有好几个,没啥子问题吗!?请妙手帮我看看我这些个进程项哪一些是可以关掉的!谢谢! 最佳回答:system process 进程项文件: [system process] or [system process] 进程项名称: Windows内存处理体系进程项

任务有计划,效率大不同

任务有计划,效率大不同 无论做什么事情,都要有个提前计划和统筹安排,才能将工作有条不紊地进行。我们的电脑也是一样,不知道你是否想过,如果我们的电脑在开机后,常用的软件能按我们的需求,按部就班地根据设定的时间自行启动,那该有多方便啊! 其实很多软件都具有随机启动功能,比如QQ、迅雷等软件,只是这些软件启动方式不太智能,只能随机启动,并不能根据我们的需要随意设定启动时间。那我们如何才能让这些软件在开机后,按设定的时问顺序启动,来提高我们的工作效率呢? 一、打开电脑自动连网 很多电脑每次开机后要做的第一件事就是双击“宽带连接”图标,然后输入用户名及密码,点击“确定”后才能进行网络连接,那我们能不能让电脑启动后宽带自动连接呢? 首先是在电脑中执行“开始→控制面板→管理工具→任务计划程序”命令,然后在打开的“任务计划程序”窗口右侧点击“创建基本任务”,之后在打开的“创建基本任务”对话框中的“名称”框中输入宽带连接,并对任务进行适当描述,点击“下一步”打开“触发器”对话框,选择“当前

用户登录时”,再点击“下一步”打开“操作”对话框,选择“启动程序”后再点击“下一步”,在打开的“启动程序”对话框中,在“程序或脚本”框中输入 “%windir%system32rasphone.exe-d宽带连接”(图1),再单击“下一步”,随后在“完成”这一步中,将“单击‘完成’时,打开此任务的属性对话框”勾选,最后点击“完成”按钮。 打开宽带连接输入用户名及密码,单击“属性”按钮。在宽带连接“属性”对话框中单击“选项”,在“拨号选项”下将“连接时显示进度”和“提示名称、密码和证书等”的复选框前面的钩去掉(图2),单击“确定”关闭对话框即可。这样,当我们以后再启动电脑时,宽带就能自动连接了。 二、开机后证邮箱自动登录 很多上班族上班后打开电脑要做的第一件事,就是先打开浏览器,然后登录邮箱查看―下有没有收到新的邮件=其实我们不用那么繁琐,我们可以设置在电脑打开后,让浏览器自行启动并自动登录邮箱,从而提高我们的工作效率。下面以我们常用的360浏览器为例,介绍―下如何在开机后自动登录我们的邮箱。 首先是打开360浏览器,打开我们要登录的邮箱页面,输入用户名及登录密码,再勾选“十天内免登录”(需要注意的是,在关闭邮箱时不能点击‘退出’,只能是直接关闭

Windows可以停止的服务进程

Windows可以停止的服务进程 2009.8.8 今天实验室多出来一台电脑,刚好在我的桌上,我就脸皮厚下默认确实是给俺分配的了,再也不用每天来回背着笔记本了。但可能由因此公用的电脑,运行的速度可想而知了,桌面上一堆的文件夹,启动项也是电脑上装的软件开机时都会自动启动一遍,任务治理器也是有专门多惊奇的进程。 Windows有专门多不重要的服务进程,这些进程能够停止关闭的,有的进程可能100年也用不到。在运行里直截了当输入services.msc命令能够打开服务选项,右击相关服务进程,属性勾选“已禁用”,即可终止。超级兔子或优化大师也有服务查看停止功能。 能够禁用的系统服务进程(zz) Alerter 微软:通知选取的使用者及运算机系统治理警示。假如停止那个服务,使用系统治理警示的程序将可不能收到通知。假如停用那个服务,所有依存于它的服务将无法启动。 补充:一样家用运算机全然不需要传送或接收运算机系统治理来的警示(Administrative Alerts),除非你的运算机用在局域网络上 依存:Workstation 建议:可禁止 Application Layer Gateway Service 微软:提供因特网联机共享和因特网联机防火墙的第三方通讯协议插件的支持 补充:假如你不使用因特网联机共享(ICS) 提供多台运算机的因特网存取和因特网联机防火墙(ICF) 软件你能够关掉 依存:Internt Connection Firewall (ICF) / Internet Connection Sharing (ICS) 建议:已停用 Application Management (应用程序治理) 微软:提供指派、发行、以及移除的软件安装服务。 补充:如上说的软件安装变更的服务 建议:手动 Automatic 更新 微软:启用重要Windows 更新的下载及安装。假如停用此服务,能够手动的从Windows 更新网站上更新操作系统。 补充:承诺Windows 于背景自动联机之下,到Microsoft Servers 自动检查和下载更新修补程序 建议:已停用 ClipBook (剪贴簿) 微软:启用剪贴簿检视器以储存信息并与远程运算机共享。假如那个服务被停止,剪贴簿检视器将无法与远程运算机共享信息。假如那个服务被停用,任何明确依存于它的服务将无

操作系统进程管理

作业题: 1.有一个充分大的池子,两个人分别向池中扔球,甲扔红球,乙扔蓝球,一次扔一个,开始时池中有红、蓝球各一个,要求池中球满足条件: 红球数 1≤———≤ 2 蓝球数 用P、V操作描述两个进程。 Semaphore red =1; Semaphore blue =0; Void p1 ( ) { While(true) { Semwait (red ); 扔入一个红球; Semsignal(blue); } } Void p2( ) { While(true) { Semwait(blue); 扔入一个蓝球; Semsignal(red); Semsignal(red); } } Void main() {parbegin(p1(),p2());} 2.有三个进程,进程get从输入设备上不断读数据,并存入buffer1;进程copy不断将buffer1的内容复制到缓冲区buffer2,进程put则不断将buffer2的内容在打印机上输出。三个进程并发执行,协调工作。写出该三个进程并发执行的同步模型。 Semaphore empty1=empty2=1; Semaphore full1 =full2= 0; Void get( ) { While(true) {

Semwait(empty1); 将数据存入buffer1; Semsignal(full1); } } Void copy( ) { While(true) { Semwait(full1); 从buffer1里面读数据; Semsignal(empty1); Semwait(empty2); 把数据存入buffer2; Semsignal(full2); } } Void put( ) { While(true) { Semwait(full2); 从buffer2读数据;Semsignal(empty2); } } Void main( ) { Parbegin(get(),copy(),put()); }

相关文档
最新文档