手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>C/C++>列表

Linux教程(13)-进程调度

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
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,显示如下:

PID TTY TIME COMMAND

285 1 00:00:00 -bash

287 3 00:00:00 -bash

289 5 00:00:00 /sbin/mingetty tty5

290 6 00:00:00 /sbin/mingetty tty6

312 3 00:00:00 telnet bbs3

341 4 00:00:00 /sbin/mingetty tty4

345 1 00:00:00 find / -name foxy.jpg

348 1 00:00:00 ps

能够看到该进程对应的PID是345,现在使用kill命令来终止该进程。键入:

# kill 345

再用ps命令查看,就能够看到,find进程已被杀掉了。 

[例25] 杀掉进程11721

# ps

PID TTY TIME COMMAND

11668 p1 00:00:00 -tcsh

11721 p1 00:00:00 cat

11737 p1 00:00:00 ps

# kill 11721

[1] Terminated cat

#

有时候可能会碰到这样的情况,某个进程已挂死或闲置,使用kill命令却杀不掉。这时候就必须发送信号9,强行关闭此进程。当然这种“野蛮”的方法很可能会导致打开的文档出现错误或数据丢失之类的错误。所以不到万不得已不要使用强制结束的办法。假如连信号9都不响应,那恐怕就只有重新启动电脑了。

控制多个进程命令

Linux可使用户同时运行多个进程,还允许用户或系统管理员能控制正在运行的进程。

nohup命令

理论上,我们一般退出Linux系统时,会把任何的程式全部结束掉,包括那些后台程式。但有时候,例如您正在编辑一个很长的程式,但是您下班或是有事需要先退出系统,这时您又不希望系统把您编辑那么久的程式结束掉,希望退出系统时,程式还能继续执行。这时,我们就能够使用nohup命令使进程在用户退出后仍继续执行。

一般这些进程我们都是让他在后台执行,结果则会写到用户自己的目录下的nohup.out这个文档里(也能够使用输出重定向,让他输出到一个特定的文档)。[例26]

$ nohup sort sales.dat &

这条命令告诉sort命令忽略用户已退出系统,他应该一直运行,直到进程完成。利用这种方法,能够启动一个要运行几天甚至几周的进程,而且在他运行时,用户无需去登录。

nohup命令把一条命令的任何输出和错误信息送到nohup.out文档中。若将输出重定向,则只有错误信息放在nohup.out文档中。

renice命令

renice命令允许用户修改一个正在运行进程的优先权。

利用renice命令能够在命令执行时调整其优先权。其格式如下:

$ renice -number PID

其中,参数number和nice命令的number意义相同。

注:

(1) 用户只能对自己任何的进程使用renice命令。

(2) root用户能够在任何进程上使用renice命令。

(3) 只有root用户才能提高进程的优先权。




文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

热点关注
IDC资讯 虚拟主机 域名注册 托管租用 vps主机 智能建站
网站运营 建站经验 策划盈利 搜索优化 网站推广 免费资源
网站联盟 联盟新闻 联盟介绍 联盟点评 网赚技巧
行业资讯 业界动态 搜索引擎 网络游戏 门户动态 电子商务 广告传媒
网络编程 Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术 Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷 Internet Explorer
网页制作 FrontPages Dreamweaver Javascript css photoshop fireworks Flash
程序设计 Java技术 C/C++ VB delphi
网络知识 网络协议 网络安全 网络管理 组网方案 Cisco技术
操作系统 Win2000 WinXP Win2003 Mac OS Linux FreeBSD
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 价格总览 | 资讯中心 | 友情链接 | 网站地图 | 招贤纳士 | RSS