您好,欢迎访问三七文档
结束进程超强命令先用任务管理器试者结束该进程,如果失败,则找到该进程的PID(任务管理器→进程选项卡→查看→选择列→勾上“PID”),或者tasklist查看进程PID。假设该进程PID为1444,接着运行cmd,再输入“ntsd-cq-p1444”(引号不要输入)回车,一般可以终止该进程~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~进程调度kill命令当需要中断一个前台进程的时候,通常是使用组合键;但是对于一个后台进程恐怕就不是一个组合键所能解决的了,这时就必须求助于kill命令。该命令可以终止后台进程。至于终止后台进程的原因很多,或许是该进程占用的CPU时间过多;或许是该进程已经挂死。总之这种情况是经常发生的。kill命令是通过向进程发送指定的信号来结束进程的。如果没有指定发送信号,那么默认值为TERM信号。TERM信号将终止所有不能捕获该信号的进程。至于那些可以捕获该信号的进程可能就需要使用kill(9)信号了,该信号是不能被捕捉的。kill命令的语法格式很简单,大致有以下两种方式:kill[-s信号|-p][-a]进程号...kill-l[信号]-s指定需要送出的信号。既可以是信号名也可以对应数字。-p指定kill命令只是显示进程的pid,并不真正送出结束信号。-l显示信号名称列表,这也可以在/usr/include/linux/signal.h文件中找到。kill命令的使用下面看看该命令的使用。[例24]在执行一条find指令时由于时间过长,决定终止该进程。首先应该使用ps命令来查看该进程对应的PID,键入ps,显示如下:PIDTTYTIMECOMMAND285100:00:00-bash287300:00:00-bash289500:00:00/sbin/mingettytty5290600:00:00/sbin/mingettytty6312300:00:00telnetbbs3341400:00:00/sbin/mingettytty4345100:00:00find/-namefoxy.jpg348100:00:00ps可以看到该进程对应的PID是345,现在使用kill命令来终止该进程。键入:#kill345再用ps命令查看,就可以看到,find进程已经被杀掉了。[例25]杀掉进程11721#psPIDTTYTIMECOMMAND11668p100:00:00-tcsh11721p100:00:00cat11737p100:00:00ps#kill11721[1]Terminatedcat#有时候可能会遇到这样的情况,某个进程已经挂死或闲置,使用kill命令却杀不掉。这时候就必须发送信号9,强行关闭此进程。当然这种“野蛮”的方法很可能会导致打开的文件出现错误或者数据丢失之类的错误。所以不到万不得已不要使用强制结束的办法。如果连信号9都不响应,那恐怕就只有重新启动计算机了。控制多个进程命令Linux可使用户同时运行多个进程,还允许用户或系统管理员能控制正在运行的进程。nohup命令理论上,我们一般退出Linux系统时,会把所有的程序全部结束掉,包括那些后台程序。但有时候,例如您正在编辑一个很长的程序,但是您下班或是有事需要先退出系统,这时您又不希望系统把您编辑那么久的程序结束掉,希望退出系统时,程序还能继续执行。这时,我们就可以使用nohup命令使进程在用户退出后仍继续执行。一般这些进程我们都是让它在后台执行,结果则会写到用户自己的目录下的nohup.out这个文件里(也可以使用输出重定向,让它输出到一个特定的文件)。[例26]$nohupsortsales.dat&这条命令告诉sort命令忽略用户已退出系统,它应该一直运行,直到进程完成。利用这种方法,可以启动一个要运行几天甚至几周的进程,而且在它运行时,用户不需要去登录。nohup命令把一条命令的所有输出和错误信息送到nohup.out文件中。若将输出重定向,则只有错误信息放在nohup.out文件中。renice命令renice命令允许用户修改一个正在运行进程的优先权。利用renice命令可以在命令执行时调整其优先权。其格式如下:$renice-numberPID其中,参数number与nice命令的number意义相同。注:(1)用户只能对自己所有的进程使用renice命令。(2)root用户可以在任何进程上使用renice命令。(3)只有root用户才能提高进程的优先权。思考题1.什么是进程?进程与作业有何区别?2.进程启动的方式有哪几种?3.at命令与batch命令有何本质区别?4.cron命令在何时执行?如何改变其执行状态?5.何谓前台作业、后台作业?如何挂起当前的前台作业?如果要恢复其运行又如何做?6.进程的查看命令有哪些?各有什么不同?7.如何中断一个后台进程?8.如何在用户退出Linux系统时,使一个进程仍然能继续执行?9.如何修改一个作业的优先权?10.编写和检验完成下列各项功能的命令管道行:(1)显示当前系统中的登录名的数目。(2)显示当前系统中有多少个进程。11.说明下列管道行分别完成什么功能:(1)df-a|wc-l(2)who|wc-windows下的话找个叫pskill的工具强制结束进程的命令行Windows操作系统中只有System、SMSS.EXE和CSRSS.EXE不能杀。前两个是纯内核态的,最后那个是Win32子系统,ntsd本身需要它。ntsd从2000开始就是系统自带的用户态调试工具。被调试器附着(attach)的进程会随调试器一起退出,所以可以用来在命令行下终止进程。使用ntsd自动就获得了debug权限,从而能杀掉大部分的进程。ntsd会新开一个调试窗口,本来在纯命令行下无法控制,但如果只是简单的命令,比如退出(q),用-c参数从命令行传递就行了。Ntsd按照惯例也向软件开发人员提供。只有系统开发人员使用此命令。有关详细信息,请参阅NTSD中所附的帮助文件。用法:开个cmd.exe窗口,输入:ntsd-cq-pPID把最后那个PID,改成你要终止的进程的ID。如果你不知道进程的ID,任务管理器-进程选项卡-查看-选择列-勾上PID(进程标识符),然后就能看见了。XP下还有两个好用的工具tasklist和tskill。tasklist能列出所有的进程,和相应的信息。tskill能查杀进程,语法很简单:tskill程序名!(不用输入.exe)TSKILLprocessid|processname[/SERVER:servername][/ID:sessionid|/A][/V]processid要结束的进程的ProcessID。processname要结束的进程名称。/SERVER:servername含有processID的服务器(默认值是当前值)。使用进程名和/SERVER时,必须指定/ID或/A/ID:sessionid结束在指定会话下运行的进程。/A结束在所有会话下运行的进程。/V显示正在执行的操作的信息。TASKLIST:显示应用程序和本地或远程系统上运行的相关任务/进程的列表。TASKLIST[/Ssystem[/Uusername[/P[password]]]][/M[module]|/SVC|/V][/FIfilter][/FOformat][/NH]描述:这个命令行工具显示应用程序和本地或远程系统上运行的相关任务/进程的列表。参数列表:/Ssystem指定连接到的远程系统。/U[domain\]user指定应该在哪个用户上下文执行这个命令。/P[password]为提供的用户上下文指定密码。如果忽略,提示输入。/M[module]列出所有其中符合指定模式名的DLL模块的所有任务。如果没有指定模块名,则显示每个任务加载的所有模块。/SVC显示每个进程中的服务。/V指定要显示详述信息。/FIfilter显示一系列符合筛选器指定的标准的任务。/FOformat指定输出格式。有效值:TABLE、LIST、CSV。/NH指定栏标头不应该在输出中显示。只对TABLE和CSV格式有效。/?显示帮助/用法。筛选器:筛选器名有效操作符有效值----------------------------------------STATUSeq,ne正在运行|没有响应IMAGENAMEeq,ne图像名PIDeq,ne,gt,lt,ge,lePID值SESSIONeq,ne,gt,lt,ge,le会话编号SESSIONNAMEeq,ne会话名CPUTIMEeq,ne,gt,lt,ge,leCPU时间,格式为hh:mm:ss。hh-时,mm-分,ss-秒MEMUSAGEeq,ne,gt,lt,ge,le内存使用量(KB)USERNAMEeq,ne用户名,格式为[domain\]userSERVICESeq,ne服务名WINDOWTITLEeq,ne窗口标题MODULESeq,neDLL名例如:TASKLISTTASKLIST/MTASKLIST/VTASKLIST/SVCTASKLIST/Mwbem*TASKLIST/Ssystem/FOLISTTASKLIST/Ssystem/Udomain\username/FOCSV/NHTASKLIST/Ssystem/Uusername/Ppassword/FOTABLE/NHTASKLIST/FIUSERNAMEneNTAUTHORITY\SYSTEM/FISTATUSeqrunningTASKKILL[/Ssystem[/Uusername[/P[password]]]]{[/FIfilter][/PIDprocessid|/IMimagename]}[/F][/T]描述:这个命令行工具可用来结束至少一个进程。可以根据进程id或图像名来结束进程。参数列表:/Ssystem指定要连接到的远程系统。/U[domain\]user指定应该在哪个用户上下文执行这个命令。/P[password]为提供的用户上下文指定密码。如果忽略,提示输入。/F指定要强行终止进程。/FIfilter指定筛选进或筛选出查询的的任务。/PIDprocessid指定要终止的进程的PID。/IMimagename指定要终止的进程的图像名。通配符'*'可用来指定所有图像名。/TTreekill:终止指定的进程和任何由此启动的子进程。/?显示帮助/用法。筛选器:筛选器名有效运算符有效值----------------------------------------STATUSeq,ne运行|没有响应IMAGENAMEeq,ne图像名PIDeq,ne,gt,lt,ge,lePID值SESSIONeq,ne,gt,lt,ge,le会话编号CPUTIMEeq,ne,gt,lt,ge,leCPU时间,格式为hh:mm:ss。hh-时,mm-钟,ss-秒MEMUSAGEeq,ne,gt,lt,ge,le内存使用,单位为KBUSERNAMEeq,ne用户名,格式为[domain\]userMODULESeq,neDLL名SERVICESeq,ne服务名WINDOWTITLEeq,ne窗口标题注意:只有带有筛选器的情况下,才能跟/IM切换使用通配符'*'。注意:远程进程总是要强行终止,不管是否指定了/F选项。例如:TASKKILL/Ssystem/F/IMnotepad.exe/TTASKKILL/PID1230/PID1241/PID1253/TTASKKILL/F/IMnotepad.exe/IMmspaint.exeTASKKILL/F/FIPIDge1000/FIWINDOWTITLEneuntitle*TASKKILL/F/FIUSERNAMEeqNTAUTHORITY\SYSTEM/IMnotepad.exeTASKKILL/Ssystem/Udomain\username/FIUSERNAMEne
本文标题:结束进程超强命令
链接地址:https://www.777doc.com/doc-3560968 .html