d、运行后台中暂停的作业(bg命令)
#前面有2个job处于stopped状态,现在我们让其在后台运行,直接输入bg命令则缺省的job继续运行,否则输入job编号,运行指定的job
robin@SZDB:/tmp> bg 2 #输入bg 2之后,可以看到原来的命令后被追加了&
[2]- find /u02 -type f -size +100000k &
robin@SZDB:/tmp> jobs
[2]- Running find /u02 -type f -size +100000k &
[3]+ Stopped find / -type f -size +100000k
e、移除指定的作业n(kill)
robin@SZDB:/tmp> jobs
[3]+ Stopped find / -type f -size +100000k
robin@SZDB:/tmp> kill -9 %3 #强制终止job 3,注意,此处的%不可省略
robin@SZDB:/tmp> jobs
[3]+ Killed find / -type f -size +100000k
robin@SZDB:/tmp> jobs
#kill -9 表明强制终止指定的Job,-15则表明是正常终止指定的job。 kill -l 则列出kill能够使用的所有信号
#对于上述命令的详细帮助,使用 man command来获取帮助信息
f、带参shell脚本的后台处理
#下面是一个测试用的shell脚本
robin@SZDB:~/dba_scripts/custom/bin> more echo_time.sh
#!/bin/bash
SID=$1
sqlplus -S scott/tiger@$1 <<EOF
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') today from dual;
begin
dbms_lock.sleep(300);
end;
/
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') today from dual;
exit;
EOF
exit
#直接执行带参的shell脚本
# Author : Robinson
# Blog :
robin@SZDB:~/dba_scripts/custom/bin> ./echo_time.sh CNMMBO
TODAY
-------------------
2013-05-03 11:07:48
[1]+ Stopped ./echo_time.sh CNMMBO #按下[ctrl]+z将其切换到后台
robin@SZDB:~/dba_scripts/custom/bin> jobs
[1]+ Stopped ./echo_time.sh CNMMBO
robin@SZDB:~/dba_scripts/custom/bin> kill -9 %1 #强制终止该job
[1]+ Stopped ./echo_time.sh CNMMBO
robin@SZDB:~/dba_scripts/custom/bin> jobs #此时该job已经被标记为killed
[1]+ Killed ./echo_time.sh CNMMBO
robin@SZDB:~/dba_scripts/custom/bin> ./echo_time.sh CNMMBO & #将shell脚本参数之后跟 &符号即将job放入到后台
[1] 2233
robin@SZDB:~/dba_scripts/custom/bin> #此时依旧可以看到有输出,但可以继续后续操作
TODAY
-------------------
2013-05-03 11:08:25
robin@SZDB:~/dba_scripts/custom/bin> jobs
[1]+ Running ./echo_time.sh CNMMBO &
robin@SZDB:~/dba_scripts/custom/bin> ./echo_time.sh CNMMBO >temp.log 2>&1 & #最佳的办法是直接将其输出到日志文件
[2] 2256
robin@SZDB:~/dba_scripts/custom/bin> jobs
[1]- Running ./echo_time.sh CNMMBO &
[2]+ Running ./echo_time.sh CNMMBO >temp.log 2>&1 &
#下面来查看日志,日志中的两次查询正好相差5分钟
robin@SZDB:~/dba_scripts/custom/bin> more temp.log
TODAY
-------------------
2013-05-03 11:09:24
PL/SQL procedure successfully completed.
TODAY
-------------------
2013-05-03 11:14:24