打印机队列
使用macOS终端命令管理打印机和打印队列

使用macOS终端命令管理打印机和打印队列对于使用macOS操作系统的用户来说,终端命令是一种强大而有效的方式来管理打印机和打印队列。
通过终端命令,您可以轻松地完成打印任务、查看打印队列状态以及管理打印机设置。
本文将介绍一些常用的终端命令,帮助您更好地管理打印机和打印队列。
1. 查看可用的打印机在终端中,您可以使用lpstat命令来查看系统中可用的打印机。
打开终端应用程序,并输入以下命令:```lpstat -a```系统将会列出当前系统中已经安装的所有打印机,包括打印机名称以及其状态。
例如,若系统中有两台打印机,名为Printer1和Printer2,lpstat命令会返回类似以下的结果:```Printer1 可用Printer2 繁忙```这样,您就可以清楚地知道系统中有哪些可用的打印机,并可以选择合适的打印机来完成打印任务。
2. 查看打印队列使用lpstat命令,您还可以查看当前打印队列的状态。
在终端中输入以下命令:```lpstat -o```系统将列出所有正在打印的任务,包括任务ID以及打印机名称。
如果打印队列为空,将不会显示任何内容。
```Printer1-1 用户1 1024 字节 Mon 01 Jan 2022 10:00:00Printer1-2 用户2 2048 字节 Mon 01 Jan 2022 10:05:00```通过查看打印队列,您可以了解当前系统中正在进行的打印任务,以及它们的进度情况。
3. 取消打印任务终端命令还可以帮助您取消不需要的打印任务。
使用cancel命令,您可以取消指定任务ID的打印任务。
在终端中输入以下命令:cancel 任务ID```请将任务ID替换为您要取消的具体任务ID。
此命令将会立即取消该任务,使其从打印队列中移除。
4. 修改打印机设置通过终端命令,您可以对打印机的设置进行修改。
使用lpoptions命令,您可以设置和更改各种打印选项。
以下是一些常用的打印选项:- 设置打印机名称:```lpoptions -d 打印机名称```- 设置打印份数:```lpoptions -n 打印份数```- 设置纸张大小:```lpoptions -o media=纸张大小- 设置打印质量:```lpoptions -o print-quality=打印质量```通过使用这些命令,您可以根据实际需求来配置打印机的各种设置,以满足您的打印需求。
打印队列里的打印任务无法删除1

计算机知识在使用打印时有时会发生故障,无法打印。
我们想清除打印队列里的打印任务,却无法删除,可以采取以下方法:依次点击“开始”→“运行”→“services.msc”→“打开服务窗口,找到“Print Spooler”.服务,点击左侧“停止此服务”,停止打印机服务.依次点击“开始”→“运行”→“spool”,在“spool”文件夹中,双击打开“PRINTERS”文件夹;删除“PRINTERS”文件夹中的所有文件;回到“服务”窗口,点击左侧“启动此服务”,重新启动打印服务。
检查打印队列,确认打印任务已经被清除1.内存不足,大家出现电脑卡的时候,可以检查看看,是不是有一些程序超占内存,导致内存不够,例如一些大型的软件,如office、photoshop等。
另外如果QQ时间运行久了后也会出现占用过多内存,从而出现电脑卡机的情况。
2.部分进程占用CPU过高,有一些软件有BUG或其它问题,运行时间长了会占用过高的CPU。
3.电脑系统垃圾文件过多,例如浏览器缓存,系统的临时文件,以及注册表的一些无效注册表项,是电脑卡的原因之一。
4.木马病毒在后台扫描、收集信息,有可能会占用了过多的系统资源,导致电脑卡的情况。
5.硬件问题,随着时间的发展,越来越多的软件对于系统的要求越来越高,这样在运行一些大型的软件、游戏的时候电脑就会很卡。
6.经常的清理电脑里面的垃圾文件。
其他的一些电脑卡的原因看法:1、C盘垃圾文件多过多,可以用杀毒软件清理一下。
2、打开文件过多,电脑内存运行较吃力所以慢3、电脑本身内存太小,建议可以适当加内存条解决,电脑性能也会提高很多的哦1.内存不足,大家出现电脑卡的时候,可以检查看看,是不是有一些程序超占内存,导致内存不够,例如一些大型的软件,如office、photoshop等。
另外如果QQ时间运行久了后也会出现占用过多内存,从而出现电脑卡机的情况。
2.部分进程占用CPU过高,有一些软件有BUG或其它问题,运行时间长了会占用过高的CPU。
打印队列过多垃圾数据清理办法

打印队列过多垃圾数据清理办法
当某点位的打印队列中存在过多数据,需要清理的办法:
1.把以下语句做成BAT文件再执行
net stop spool
cd C:\Windows\System32\spool\PRINTERS\
del *.*
net start spool
pause
2.手动删除方法
依次点击“开始”→“控制面板”→“性能和维护”→“管理工具”→“服务”→“Print Spooler”。
点击左侧“停止此服务”,停止打印机服务。
把C:\Windows\System32\spool\PRINTERS下的文件删除,然后进入:计算机管理--服务和应用程序--服务--print spool 重启一下就好了.。
制度说明
制度是以执行力为保障的。
“制度”之所以可以对个人行为起到约束的作用,是以有效的执行力为前提的,即有强制力保证其执行和实施,否则制度的约束力将无从实现,对人们的行为也将起不到任何的规范作用。
只有通过执行的过程制度才成为现实的制度,就像是一把标尺,如果没有被用来划线、测量,它将无异于普通的木条或钢板,只能是可能性的标尺,而不是现实的标尺。
制度亦并非单纯的规则条文,规则条文是死板的,静态的,而制度是对人们的行为发生作用的,动态的,而且是操作灵活,时常变化的。
是执行力将规则条文由静态转变为了动态,赋予了其能动性,使其在执行中得以实现其约束作用,证明了自己的规范、调节能力,从而得以被人们遵守,才真正成为了制度。
Python初学——Queue实例——打印机

Python初学——Queue实例——打印机打印机序列:平均每天⼤约10名学⽣在任何给定时间在实验室⼯作。
这些学⽣通常在此期间打印两次,这些任务的长度范围从1到20页。
实验室中的打印机较旧,每分钟以草稿质量可以处理10页。
打印机可以切换以提供更好的质量,但是它将每分钟只能处理五页。
较慢的打印速度可能会使学⽣等待太久。
当学⽣提交打印任务时,我们将把他们添加到等待列表中,⼀个打印任务的队列。
当打印机完成任务时,它将检查队列,以检查是否有剩余的任务要处理。
我们感兴趣的是学⽣等待他们的论⽂打印的平均时间。
这等于任务在队列中等待的平均时间量。
学⽣可以打印长度从 1 到 20 页的纸张。
如果从 1 到 20 的每个长度有同样的可能性,则可以通过使⽤ 1 和 20 之间的随机数来模拟打印任务的实际长度。
这意味着出现从 1 到 20 的任何长度的机会是平等的具体思路:1. 创建打印任务的队列,每个任务都有个时间戳。
队列启动的时候为空。
2. 每秒(currentsecond):是否创建新的打印任务?如果是,将 currentSecond 作为时间戳添加到队列。
如果打印机不忙并且有任务在等待从打印机队列中删除⼀个任务并将其分配给打印机从 currentSecond 中减去时间戳,以计算该任务的等待时间。
将该任务的等待时间附件到列表中稍后处理。
根据打印任务的页数,确定需要多少时间。
打印机需要⼀秒打印,所以得从该任务的所需的等待时间减去⼀秒如果任务已经完成,换句话说,所需的时间已经达到零,打印机空闲。
3. 模拟完成后,从⽣成的等待时间列表中计算平均等待时间。
#Author:KangZPfrom pythonds.basic.queue import Queueimport random#定义⼀个Printer类,tick是⼀个任务为⾮空闲的递减的计数器,,busy确认任务是否空闲,startnext确认新任务的打印时间class Printer:def __init__(self,ppm):self.pagerate=ppmself.currenttask=Noneself.timeremain=0def tick(self):if self.currenttask!=None:self.timeremain=self.timeremain-1if self.timeremain<=0:self.currenttask=Nonedef busy(self):if self.currenttask!=None:return Trueelse:return Falsedef startnext(self,newtask):self.currenttask=newtaskself.timeremain=newtask.getpages()*60/self.pagerate#定义⼀个Task类,getstamp⽤来标记任务,getpages⽤来获取任务的页数,waittime获取新任务需要的等待时间class Task:def __init__(self,time):self.timestamp=timeself.pages=random.randrange(1,21) #每个任务的打印页数随机产⽣random.randrange ([start,] stop [,step])def getstamp(self):return self.timestampdef getpages(self):return self.pagesdef waittime(self,currenttime):return currenttime - self.timestamp#newprinttask决定是否创建⼀个新的打印任务def newprinttask():num=random.randrange(1,181)if num==180:return Trueelse:return False#仿真函数,numsecond代表模拟的总的时间,pagesperminute表⽰每分钟的打印机的打印速率def simulation(numsecond,pagesperminute):labprinter=Printer(pagesperminute)printqueue=Queue() #建⽴⼀个打印机队列waittimes=[]for currentsecond in range(numsecond):if newprinttask():task=Task(currentsecond)printqueue.enqueue(task) #加⼊打印机队列if (not labprinter.busy()) and (not printqueue.isEmpty()):nexttask=printqueue.dequeue()waittimes.append(nexttask.waittime(currentsecond)) #列表waittimes加⼊新任务的等待时间 labprinter.startnext(nexttask)labprinter.tick()averagewait=sum(waittimes)/len(waittimes)print("Average wait %6.2f secs %3d tasks remaining."%(averagewait,printqueue.size()))for i in range(10):simulation(3600,5)#3600为⼀个⼩时——————————————————————————————————————————模拟结果:Average wait 128.00 secs 0 tasks remaining.Average wait 462.00 secs 2 tasks remaining.Average wait 46.89 secs 0 tasks remaining.Average wait 88.08 secs 0 tasks remaining.Average wait 130.26 secs 0 tasks remaining.Average wait 74.33 secs 0 tasks remaining.Average wait 60.62 secs 0 tasks remaining.Average wait 35.14 secs 1 tasks remaining.Average wait 180.95 secs 7 tasks remaining.Average wait 214.44 secs 0 tasks remaining.。
直接入网络的打印机,发出打印命令后,打印队列一直显示文档正在处理,但网络打印机始终无法打印,求解?

直接入网络的打印机,发出打印命令后,打印队列一直显示文档正在处理,但网络打印机始终无法打印,求解?直接入网络的打印机,发出打印命令后,打印队列一直显示文档正在处理,但网络打印机始终无法打印,求解?在你电脑上选择打印机属性,高级里面设置,使用后台打印-立即打印。
网络打印机一直显示正在打印其他机器可以打印这台机器一打印就提示正在打印过一会提示错误把打印机删除了重新安装还是这个问题网络打印机,文档传递到打印机后显示正在打印但是不打印,点击取消文档后,竟然打印出文件。
WHY?a 近年的研究表明,白血病的发病与下列因素有关:<br />(1)病毒因素<br />这是当前比较公认的病因。
不过这里讲的病毒是指寄生于人体造血细胞内的核病毒或C型RNA肿瘤病毒,而不是人们常说的流行性感冒病毒或心肌炎病毒。
由于正常人体内有控制这种C型RNA 病毒的机制,故使它不能发病。
如果人体的控制系统失调,这种肿瘤病毒在某些酶(逆转录酶)作用下,可使造血细胞变成白血病细胞,发生白血病。
现在已经分离出这种病毒,并能够进行检测。
<br />(2)放射因素<br />人们最早发现,从事放射线工作人员(放射科医生在没有防护情况下),接受放射线治疗的非白血病患者如脊柱炎等,容易得白血病。
日本*** 爆炸幸存者中白血病发病率较其他城市人口为高,爆炸后5年最高。
这是因为放射线使人的造血细胞发生恶性变化。
<br />(3)化学因素<br />有些化学物质如苯类,有致癌或致白血病作用。
近年来,受人们关注的是一种苭物--乙双吗啉,治疗牛皮癣而发生急性白血病。
<br />(4)遗传因素<br />有人进行白血病家族调查,发现单卵性双胎中如一人患白血病,另一人患白血病的机会较常人增加5倍,比双卵性双胎的发病率高12倍。
这说明白血病与遗传有关,认为某些遗传物质——染色体发生了突变招致白血病。
有效解决打印机打印出错的问题

有效解决打印机打印出错的问题打印机是我们日常工作和生活中必不可少的设备之一。
然而,有时候我们会遇到打印出错的情况,这不仅浪费时间和纸张,还会给我们带来不便。
因此,解决打印机打印出错的问题是非常重要的。
本文将介绍一些有效的解决方法,帮助您解决打印机打印出错的困扰。
一、检查硬件连接首先,我们需要检查打印机的硬件连接是否正常。
确保打印机与电脑正确连接,并且电源线插好。
如果使用的是无线打印机,确保无线网络连接稳定。
有时候,打印机的USB线可能会松动或者损坏,这也会导致打印出错。
因此,我们需要检查USB线是否牢固连接,并且没有损坏。
二、检查打印队列打印队列是指待打印的文件列表。
有时候,如果打印队列中有堆积的文件,会导致打印机无法正常工作。
我们可以通过以下步骤来检查和清空打印队列:1. 在任务栏中找到打印机图标,右键点击并选择“打开所有活动的打印机”;2. 在弹出的窗口中,找到您想要打印的文件,右键点击并选择“取消”或“删除”。
清空打印队列后,重新尝试打印文件,看是否能够解决打印出错的问题。
三、更新或重新安装打印机驱动程序打印机驱动程序是连接打印机和电脑的桥梁,它起着非常重要的作用。
如果打印机驱动程序过时或者损坏,就会导致打印出错。
因此,我们需要定期检查并更新打印机驱动程序。
您可以通过以下步骤来更新或重新安装打印机驱动程序:1. 打开“设备管理器”,找到打印机设备;2. 右键点击打印机设备,选择“更新驱动程序”;3. 根据系统提示,选择自动更新或手动下载最新的驱动程序。
如果更新驱动程序后问题仍然存在,您可以尝试卸载并重新安装打印机驱动程序。
首先,在“设备管理器”中找到打印机设备,右键点击并选择“卸载设备”。
然后,重新安装最新的驱动程序。
四、检查纸张和墨盒有时候,打印出错是由于纸张或者墨盒问题引起的。
首先,检查打印机中的纸张是否放置正确,并且没有卡纸。
如果发现有卡纸,及时清理并重新放置纸张。
其次,检查墨盒是否有墨水或者墨粉。
打印机排队问题的概率算法求解

打印机排队问题的概率算法求解随着信息时代的不断发展,打印机已经成为办公室中必不可少的设备之一。
但是在办公室中经常会遇到打印机的排队问题,尤其是在忙碌的工作日,每个人都在急着要打印文件时,打印机的排队问题会更加突出。
本文将介绍一种概率算法,可以有效地解决打印机排队问题。
一、打印机排队问题的研究背景在办公室中,经常需要多个人同时使用同一台打印机。
而当多个人同时向打印机发送打印任务时,就会出现打印机排队的问题。
这个问题不仅会导致员工的工作效率降低,还会浪费公司宝贵的时间和资源。
因此,对于打印机排队问题的研究和解决,具有重要的意义。
二、打印机排队问题的概率算法介绍为了有效解决打印机排队问题,本文提出了一种基于概率算法的解决方法。
该算法主要基于以下两个假设:1. 打印机的服务时间是服从指数分布的。
2. 打印机的服务过程是独立的。
基于以上两个假设,我们可以推导出整个打印机系统的排队问题服从M/M/1排队模型,即到达率为λ,服务率为μ,只有一个服务台的排队系统。
在此基础上,我们可以使用概率论中的排队论公式,求得打印机系统的一些基本指标,如平均排队人数、平均等待时间等。
三、打印机排队问题的概率算法应用实例假设某公司有一个工作日常用的打印机,每天需要打印1000份文件。
根据统计,该打印机每分钟可以处理10份文件,打印请求的到达时间服从泊松分布。
现在需要求出该公司打印机排队问题的概率算法。
由题可知,到达率λ=1000/(8*60)=2.08/min,服务率μ=10份/分钟,因此系统的稳定性得以保证。
根据排队论公式,可以求得该公司的打印机系统平均排队长度为:Lq = (λ/μ)^2 / (μ - λ) = (2.08/10)^2 / (10 - 2.08) = 0.1866平均等待时间为:Wq = Lq / λ = 0.08964分钟由此可见,该公司的打印机系统的平均排队长度和平均等待时间都是很小的,因此该公司的打印机系统在工作日能够高效稳定地工作。
第八单元打印机和打印队列

目标:
完成本单元课程后,学员应当能够
●解释队列系统的目的和益处 ●描述处理打印请求过程的主要组件 ●在不同情况下增加打印机设备和打印队列 ●修改已有打印队列设置
●管理打印队列
●管理打印作业
队列概念
文件1 队列1 文件1 文件2
文件2
· · ·
打印机
/dev/lp0
文件3 队列2 文件3 文件4 文件4
队列配置文件
队列请求中需打印文件的临时 打印池目录 打印机状态信息
SMIT打印菜单
# smit spooler
为新队列配置打印机
选择打印机类型
打印机与系统的连接方式
设置队列特性
# smit mkpq
提交打印作业
● 向队列提交作业: UNIX SYSTEM V lp 例如: BSD lpr AIX qprt
打印机
/dev/lp1
打印数据流程
# qprt -Plp0 [-c] file
打印请求 队列 lp0 监视 复制文件 (如果需要)
qdaemon
启动 后端 (piobe)
Spool目 录 使用文件 (如果存在)
提交文件到打印 机 打印机 /dev/lp0
qdaemon
● qdaemon是负责管理系统中打印队列的进程。
单元小结
● 在队列机制中,所有送往打印机的打印作业都出于受控 状态 ● 打印流程主要组件是: ● 增加打印队列和/或打印机设备可以使用SMIT ● 队列特性可以通过SMIT或命令予以修改
● 系统管理员可以停止或启动队列
● 对打印作业可以进行多种管理操作
实验
教师准备工作: ● 在RS/6000的并口上连接一台打印机
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告设计题目:打印机任务队列学生姓名:专业:计算机科学与技术班级:学号:指导教师:完成日期:合肥工业大学计算机与信息学院一. 需求和规格说明题目:打印机任务队列要求:打印机的打印队列中,每一个打印任务都有一个优先级,为1~9的一个整数(9的优先级最高,1的优先级最低),打印按如下方法进行.(1)取出打印队列中队首的打印任务J;(2)如果打印队列中存在优先级高于J的打印任务,则将J移动到打印队列的队尾;否则,打印J.现在的问题是,要确定你要打印的文件何时打印完毕。
给定当前打印队列(一个优先级队列)和你的打印任务在当前打印队列中的位置,确定你的打印任务完成时需要多长时间。
为了简化问题,假定没有新的打印任务加入到打印队列中;并且,假定完成任何一个打印任务均需要1min时间,向打印队列中加入一个打印任务或从打印队列中移除一个打印任务不需要时间。
例如,当前打印队列为“1 1 9 1 1 1”且你的打印任务在队首时,需要5min.二. 设计1.设计思想:根据要求,可采用队列结构存储打印队列,因此,设计出一个打印队列类printqueue来存储数据并实现相关操作。
为了读入打印队列,需设计一个函数createqueue();为了判断打印队列中的优先级,需设计一个函数priority();为了记录打印任务在打印队列中所在位置,可定义一个标识符flag来标记位置;为了算出打印所费时间,可定义一个变量time.确定何时打印结束:当执行打印时要打印任务在打印队列的队头即flag=1时打印结束。
类图:printqueue()int count;int front;int rear;int data[ ];int flag;int time;error_code createqueue( int x);bool empty() const;bool full() const;error_code get_front(int &x) const;error_code append(const int x);error_code serve();bool priority();error_code print(const int x);2.设计表示:属性和方法定义:类名成员类别类型成员名描述printqueue 属性int count 当前打印队列中的打印任务数privateint front 打印队列的队头指针privateint rear 打印队列的队尾指针privateint data[] 存储打印队列的数组privateint flag 标识符,标记要打印的任务在打印队列中的位置public int time 打印完成所需时间public方法printqueue() 构造函数publicerror_code createqueue() 输入并构造打印队列publicbool empty() 判断打印队列是否为空publicbool full() 判断打印队列是否已满publicerror_code get_front() 取打印队列的队头元素publicerror_code append() 出队publicerror_code serve() 入队publicbool priority() 判断队头打印任务是否优先级最高publicerror_code print() 打印函数public三. 用户手册1,使用时先输入打印队列,注意打印队列为优先级队列,优先级为1~9,输入-1作为打印队列的输入结束符,且打印队列长度不能超过98。
2,输入打印任务在打印队列中的位置,用数字表示,位置不能超出打印队列长度。
之后计算机便可自行执行打印任务并计算时间。
四. 调试及测试此次设计的程序基本实现了题目中的要求。
程序运行的时空效率分析:空间消耗:需要空间存储打印队列,front,rear,count,flag,time及其他中间变量的值,空间消耗较少。
时间性能:若队列长度为n,则最多需要移动元素n!次,最多需要打印n次。
时间性能较佳。
测试数据集;打印队列打印任务所在位置运行结果正确输入 1 1 9 1 1 1 -1 1 所用时间为5min 打印任务位置错误1 2 3 4 5 -1 6 所用时间为0min 打印队列输 1 1 2 2 4 10 9 2 -- 输入错误入错误 1 -1打印队列输入错误c a b e 1 2 3 -1 -- 输入错误打印队列超长1 2 3 4 5 6 7 89 ….(共99个数)-- 所用时间为0min打印队列为空-1 ----运行实例截图;改进设想:为了简化问题,本实验中假定没有新的打印任务加入到打印队列中,向打印队列中加入一个打印任务或从打印队列中移除一个打印任务不需要时间。
可以设计在打印过程中有新任务加入,且移动元素需要时间情况下的程序。
经验和体会:通过本课程设计,我掌握队列的基本方法和基本原理,运用语言编程及调试的能力得到提升,学会了用数据结构解决简单的实际问题,对日后的进一步学习大有益处。
附录源程序清单:#include <iostream># include <iomanip>using namespace std;enum error_code{success,overflow,underflow,errorinput};class printqueue{ //队列类public:printqueue(); //构造函数error_code createqueue( int x);bool empty()const; //判断队列是否为空bool full()const; //判断队列是否满error_code get_front(int &x)const; //取队头元素error_code append(const int x); //x入队error_code serve(); //队尾元素出队bool priority(); //判断队头打印任务是否优先级最高error_code print(const int x); //打印函数int flag; //指示打印任务在打印队列中的位置int time; //完成打印任务所需时间//假定完成任何一个打印任务均需要1min时间//向打印队列中加入一个打印任务或从打印队列中移除一个打印任务不需要时间private:int count; //队列中元素个数int front; //队头指针int rear; //队尾指针int data[100];//存储队列中元素数据的数组};printqueue::printqueue(){count=0;front=rear=0;flag=0;time=0;}error_code printqueue::createqueue( int x){if(x<-1||x>9){cout<<"输入错误!"<<endl;count=0;front=rear=0;flag=0;time=0;return errorinput;}if(x!=-1){rear=(rear+1)%100;data[rear]=x;count ++;if(full())return overflow;int m;cin>>m;createqueue(m);}return success;}bool printqueue::empty()const{if(count==0)return true;return false;}bool printqueue::full()const{if(count==98)return true; //除头尾指针外共有99个位置能存储数据//队尾必须留一个空位将对头任务插入到队尾,所以count=98时规定队列满return false;}error_code printqueue::get_front(int &x)const{if (empty()) return overflow;x=data[(front+1)%100];return success;}error_code printqueue::append(const int x){ if(full())return overflow;rear=(rear+1)%100;data[rear]=x;count ++;return success;}error_code printqueue::serve(){if(empty())return underflow;front=(front+1)%100;count --;return success;}bool printqueue::priority(){int x;x=data[(front+1)%100];for(int n=1;n<count;n++){if(x<data[(front+1)%100+n])return false;}return true;}error_code printqueue::print(const int x){if(empty())return underflow;if(full())return overflow;if(x>count){cout<<"输入错误!"<<endl;return errorinput;}flag=x;if(priority()){cout<<data[(front+1)%100];time++;if(flag==1)return success;}else{append(data[(front+1)%100]);if(flag==1)flag=count;}serve();flag--;print(flag);}int main(){printqueue Q;int x;cout<<"请输入打印队列(一个优先级队列),以-1为结束符"<<endl;cout<<"优先级为1~9的一个整数,9的优先级最高,1的优先级最低),"<<endl;cin>>x;Q.createqueue(x);if(Q.empty())return -1;int i;cout<<"请输入打印任务在打印队列中的位置"<<endl;cin>>i;Q.print(i);cout<<"打印任务完成,所用时间为"<<Q.time<<"min"<<endl;return 1;}磁盘文件:printqueue.cpp。