一. 有关进程的几种常用方法
1.1 & 符号
在命令后面加上一个 & 符号,表示该命令放在后台执行,如:
[oracle@singledb ~]$ crontab -l
20 17 * * * /u02/rman_incremental_backup.sh &
1.2 Jobs 命令
该命令可以查看当前有多少在后台运行的命令,jobs 列出当前shell环境中已启动的任务状态,若未指定jobsid,则显示所有活动的任务状态信息。
jobs命令执行的结果,+表示是一个当前的作业,减号表是是一个当前作业之后的一个作业,jobs -l选项可显示所有任务的PID,jobs的状态可以是running, stopped, Terminated,但是如果任务被终止了(kill),shell 从当前的shell环境已知的列表中删除任务的进程标识;也就是说,jobs命令显示的是当前shell环境中所起的后台正在运行或者被挂起的任务信息。 如:
[oracle@singledb ~]$ jobs
[1]+ Running /u02/rman_incremental_backup.sh &
在这里讲一个概念:当前任务
如果后台的任务号有2个,[1],[2];如果当第一个后台任务顺利执行完毕,第二个后台任务还在执行中时,当前任务便会自动变成后台任务号码“[2]”的后台任务。所以可以得出一点,即当前任务是会变动的。当用户输入“fg”、“bg”和“stop”等命令时,如果不加任何引号,则所变动的均是当前任务。
1.3 fg 命令(foreground)
该命令将后台运行的进程调到前台来运行。 具体用法: fg %n。
这里的N 是jobs 看到的jobnumber。 如:
[oracle@singledb ~]$ fg %1
-bash: fg: job has terminated
[1]+ Exit 1 /u02/rman_incremental_backup.sh > /u02/rman.log 2>&1