nohup命令告诉系统,command所代表的命令在执行过程中不受任何结束运行的信号(hangup和quit)的影响 。例如,
$ nohup find / -name exam.txt -printf1
find命令在后台运行 。在用户注销后 , 它会继续运行:从根目录开始 , 查找名字是exam.txt的文件,结果被定向到文件f1中 。
如果用户没有对输出进行重定向,则输出被附加到当前目录的nohup.out文件中 。如果用户在当前目录中不具备写权限,则输出被定向到$HOME/nohup.out 中 。
· at命令
at命令允许指定命令执行的时间 。at命令的常用形式是:
at time command
其中 , time是指定命令command在将来执行时的时间和日期 。时间的指定方法有多种,用户可以使用绝对时间 , 也可以用相对时间 。该指定命令将以作业形式在后台运行 。例如:
$ at 15:00 Oct 20
回车后进入接收方式,接着键入以下命令:
mail -s "Happy Birthday!" liuzheny
按下D键,屏幕显示:
job 862960800.a at Wed Oct 20 15:00:00 CST 1999
$
表明建立了一个作业,其作业ID号是862960800.a,运行作业的时间是1999年10月20日下午3:00 , 给liuzheny发一条标题为“Happy Birthday!”(生日快乐)的空白邮件 。
利用 at -l 可以列出当前at队列中所有的作业 。
利用 at -r 可以删除指定的作业 。这些作业以前由at或batch命令调度 。例如,
at -r 862960797.a
将删除作业ID号是862960797.a的作业 。其一般使用形式是:
at -r job_id
注意,结尾是.a的作业ID号,表示这个作业是由at命令提交的;结尾是.b的作业ID号,表示这个作业是由batch命令提交的 。
· batch命令
batch命令不带任何参数,它提交的作业的优先级比at命令提交的作业的优先级低 。batch无法指定作业运行的时间 。实际运行时间要看系统中已经提交的作业数量 。如果系统中优先级较高的作业比较多,那么,batch提交的作业则需要等待;如果系统空闲,则运行batch提交的作业 。例如,
$ batch
回车后进入接收方式,接着键入命令:
find / -name exam.txt -print
按下D 。退出接收方式,屏幕显示:
job 862961540.b at Thu Nov 18 14:30:00 CST 1999
表示find命令被batch作为一个作业提交给系统,作业ID号是862961540.b 。如果系统当前空闲,这个作业被立即执行,其结果同样作为邮件发送给用户 。
· jobs命令
jobs命令用来显示当前shell下正在运行哪些作业(即后台作业) 。例如:
$ jobs
[2] + Running tar tv3 *
[1] - Running find / -name README -printlogfile
$
其中 , 第一列方括号中的数字表示作业序号,它是由当前运行的shell分配的,而不是由操作系统统一分配的 。在当前shell环境下,第一个后台作业的作业号为1 , 第二个作业的作业号为2,等等 。
第二列中的“ ”号表示相应作业的优先级比“-”号对应作业的优先级高 。
第三列表明作业状态,是否为运行、中断、等待输入或停止等 。
最后列出的是创建当前这个作业所对应的命令行 。
利用 jobs -l 形式 , 可以在作业号后显示出相应进程的PID 。如果想只显示相应进程的PID , 不显示其它信息,则使用 jobs -p 形式 。
· fg命令
fg命令把指定的后台作业移到前台 。其使用格式是:
fg [job…]
其中,参数job是一个或多个进程的PID,或者是命令名称或者作业号(前面要带有一个“%”号) 。例如:
$ jobs
[2] + Running tar tv3 *
[1] - Running find / -name README -printlogfile
推荐阅读
- 男款羊羔绒裤直播间卖货,男款羊羔绒裤直播间卖货是真的吗
- 电脑镜像系统怎么下到u盘,电脑系统镜像怎么用
- ios13.1开发版,ios13开发者选项在哪里
- 计算机毕业设计会影响工作吗,计算机专业毕设可以做什么
- php删除数据表的记录 php删除数据库表单中一行内容
- 荣耀升级鸿蒙怎么申请,荣耀手机怎么申请升级鸿蒙
- mysql修改表utf8,mysql修改表名
- excel折线颜色怎么选,excel怎么设置折线图颜色
- python函数求累加和 python中累加求和