您的位置:首页 > 其它

UNIX常用调度命令

2007-10-27 10:29 246 查看
1.nohup命令

nohup命令的功能是以忽略挂牵和退出的方式执行制定命令.其命令格式是:

nohup command [arguments]

其中,command是所要执行的命令,arguments是指定命令的参数.

nohup命令告诉系统,command所代表的命令在执行过程中不受任何结束运行的信号(hangup和quit)的影响.例如:

$ nohup find / -name exam.txt -print>f1 &

find命令在后台运行.注销后它会继续运行:从跟目录开始,查找名字是exam.txt的文件,结果被定向到f1里.

2.at命令

at命令允许指定命令执行的时间.at命令的常用形式是:

at time command

其中,time是指定命令command在将来执行时的日期和时间.时间的指定方法有多种,也可以使用绝对时间,也可以相对
时间.该命令将以作业形式在后台运行.例如:

$ at 20:00 oct 20

回车后进入接收方式,接着键入以下命令:

mail -s "Happy Birthday!" fengbao

按D键,屏幕上将显示:

job 862960800.a at Wed Oct 20 15:00 :00 CST xxxx年

$

表明建立了一个作业,其作业ID号是862960800.a ,运行作业时间是xxxx年10月20日下午3:00,给我也就是风暴了发一
条标题为"Happy Birthday!"的空白邮件.

利用at -1可以列出当前at队列中所有的作业.

利用at -r可以删除指定的作业.这些作业以前由at或batch命令调度.例如: at -r 862960797.a将它删除掉的形
式是: at -r job_id

大家要注意噢~~~~结尾是.a的作业ID号,表示这个作业是由at命令提交的;结尾是.b的作业ID号,表示这个作业是
由batch命令提交的.

下面我们就要来谈谈batch命令了.它不带任何参数,它提交的作业优先级比at提交的优先级要低.batch无法指定作业
运行的时间.例如:

$ batch

回车后进入接收方式,接着键入命令:

find / -name exam.txt -print

按D,退出接收方式,显示:

job 862961540.b at Thu Nov 18 14:30:00 CST 2002

表示find命令被batch作为一个作业提交给系统......

4.jobs命令

此命令用来显示当前shell下正在运行哪些作业(即后台作业).例如:

$ jobs

[2] + Running sar tv3 * &

[1] - running find/ -name README -print >logfile &

&

这里的"+"表示作业的优先级比"-"的要高.

5.fg 命令

它的作用是把指定的后台作业移植到前台,其格式是:

fg [job...]

其中参数job是一个或多个进程的PID,或者是命令名称或是作业号(前面要带一个%号)

$ jobs

[2] + running tar tv3 * &

[1] - running find/ -name README -print > logfile&

$ fg %find

find/-name README -print > logfile

注意,显示的命令行末尾没有&符号.下面的命令能产生同样的效果:

$ fg %1

6. bg 命令

它是把前台进程换到后台执行,其使用格式是:

bg [job...]

其中,job还是一个或多个进程的PID,命令名称或作业号,在参数前要带%号.例如,在cc(C编译命令)命令执行过程中,按

Z键,使作业挂起.然后键入以下命令:

$ bg %cc

该挂起的作业在后台重新开始运行.........

再补充几个UNIX进程管理命令.

ps命令-主要是检查系统中当前存在的进程状态.要了解当前系统上活动的进程信息,最基本的操作是运行ps命令.

当ps命令没有选项时,只显示与控制终端相关进程的基本信息.例如,在主控制tty01上键入ps:

$ ps

PID TTY TIME CMD

595 tty01 00:00:00 sh

607 tty01 00:00:00 ps

其中PID--是进程的ID号

TTY--终端标识符

TIME--进程占用CPU的时间

CMD--与进程对应的命令

sleep命令是使进程暂停执行一段时间,其参数单位是秒.例如:

$ sleep 60

表示将等待60秒后,才重新回到$提示符状态.

wait命令的功能是等待后台进程结束.其命令格式是:

$ wait 后面跟参数

kill命令是终止一个进程的运行.如果你是个超级用户下:

$ kill 123

就是停止PID为123的进程运行.如果想强行杀死某个进程(由PID指定),可以用以下形式:

# kill -9 pid

补充:
at命令要ROOT权限。
ps -ef列出所有正在进行的进程!
ps -ef|grep xxx查找 进程中含有xxx的进程
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息